gpt4 book ai didi

Django 表单 - 附加到类元排除和小部件

转载 作者:行者123 更新时间:2023-12-04 14:33:41 29 4
gpt4 key购买 nike

是否可以附加到继承表单的 exclude 或 widgets 变量?

到目前为止,我有以下设置。

class AddPropertyForm(forms.ModelForm):
num_months = forms.ChoiceField(choices=MONTHS)
request_featured = forms.BooleanField(required=False)
featured_months = forms.ChoiceField(choices=MONTHS)

class Meta():
model = RentalProperty
exclude = ('listing_id', 'active_listing', 'active_listing_expiry_date', 'featured_property', 'featured_expiry_date', 'slug', 'property_manager')
widgets = {
'property_type': forms.Select(attrs={'onchange':'propertyType()'}),
}

class EditPropertyForm(AddPropertyForm):
request_reactivation = forms.BooleanField(required=False)
class Meta(AddPropertyForm.Meta):
exclude = ('address1', 'property_type')
widgets = {
'request_reactivation': forms.CheckboxInput(attrs {'onchange':'reactivateProperty()'}),
}

我试图让 EditPropertyForm 的最终结果看起来像下面的 exclude 和 widgets 语句。
exclude = ('address1', 'property_type', 'listing_id', 'active_listing', 'active_listing_expiry_date', 'featured_property', 'featured_expiry_date', 'slug', 'property_manager')

widgets = {
'request_reactivation': forms.CheckboxInput(attrs {'onchange':'reactivateProperty()'}),
'property_type': forms.Select(attrs={'onchange':'propertyType()'}),
}

如果有更好的方法,请提出建议。

非常感谢任何帮助。

最佳答案

从父 Meta 类中获取属性并更新它们怎么样?

像这样的东西(未经测试):

class Meta(AddPropertyForm.Meta):
exclude = tuple(list(AddPropertyForm.Meta.exclude) + ['address1', 'property_type'])
widgets = AddPropertyForm.Meta.widgets.copy()
widgets.update({
'request_reactivation': forms.CheckboxInput(attrs {'onchange':'reactivateProperty()'}),
})

它不漂亮,但应该可以满足您的需求。

关于Django 表单 - 附加到类元排除和小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251697/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com