第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

python中怎么override父類的class Meta?

python中怎么override父類的class Meta?

元芳怎么了 2019-02-25 08:58:08
這是我的一個(gè)父類 class BlogCommentForm(forms.ModelForm): class Meta: model = BlogComment fields = ['user_name', 'body'] widgets = { 'user_name': forms.TextInput(attrs={ 'required': 'required', # ...還有很多其他屬性 }), 'body': forms.Textarea(attrs={ 'required': 'required', # ...還有很多其他屬性 }), } 這是我的子類 class SubCommentForm(BlogCommentForm): class Meta: # SubComment也是繼承自BlogComment model = SubComment fields = ['user_name', 'body'] widgets = { 'user_name': forms.TextInput(attrs={ 'required': 'required', # ...還有很多其他屬性 }), 'body': forms.Textarea(attrs={ 'required': 'required', # ...還有很多其他屬性 }), } 現(xiàn)在我想簡化一下代碼,因?yàn)槲业腟ubComment也是繼承自BlogComment,所以對于SubCommentForm這個(gè)子類我只想讓下model = SubComment,對于fields和widgets屬性,我不想增加或者任何內(nèi)容,請問我應(yīng)該怎樣做呢?
查看完整描述

3 回答

?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

兩種寫法:

import copy


class A:
    class Meta:
        model = 'hello'
        fields = ['a', 'b']
        widgets = {'a': 'b'}


class B(A):
    """第一種"""
    dic = copy.deepcopy({
        k: v
        for (k, v) in A.Meta.__dict__.items()
        if not k.startswith('__')
    })
    dic['model'] = 'b'
    Meta = type('Meta', (object,), dic)


class C(A):
    """第二種"""
    class Meta:
        model = 'c'
        widgets = copy.deepcopy(A.Meta.widgets)
        fields = copy.deepcopy(A.Meta.fields)
查看完整回答
反對 回復(fù) 2019-03-04
?
米脂

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊

你可以將那2個(gè)屬性忽略不寫,默認(rèn)會自動(dòng)繼承父類的東西,只是模型model哪里改成你要的模型。

查看完整回答
反對 回復(fù) 2019-03-04
?
翻閱古今

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超5個(gè)贊

class SubCommentForm(BlogCommentForm):

    class Meta(BlogCommentForm.Meta):
        # SubComment也是繼承自BlogComment
        model = SubComment

不知道這樣行不行

查看完整回答
反對 回復(fù) 2019-03-04
  • 3 回答
  • 0 關(guān)注
  • 733 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號