gpt4 book ai didi

django - 子类化 Django ModelForms

转载 作者:行者123 更新时间:2023-12-03 13:42:40 25 4
gpt4 key购买 nike

我想扩展 ModelForms 的主要目的是向表单添加字段。我认为通过一个例子更容易看出:

# Basic listing
class BasicForm(ModelForm):
class Meta:
model = Business
fields = ('category', 'city', 'name', 'address',
'slogan', 'phone', 'website', 'email')

class SocialForm(BasicForm):
class Meta:
model = Business
fields = ('facebook','twitter')

那还能用吗?或者它会从 SocialForm 中的 BasicForm 中清除其他字段吗?

这样做的正确方法是什么?

最佳答案

这是一个迟到的答案,但我想指出您可以将内部 Meta 子类化像这样的类:

class SocialForm(BasicForm):
class Meta(BasicForm.Meta):
fields = BasicForm.Meta.fields + ('facebook', 'twitter')

这样您就不必重复 model = Business定义和任何其他 Meta您可以添加到 BasicForm 的属性将自动被 SocialForm 继承.

作为引用,这里是 Django documentation在这种方法上。

关于django - 子类化 Django ModelForms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938521/

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