我有一个模型和一个表格:
class MyModel(models.Model):
field_foo = models.CharField(_("Foo"), max_length=50)
field_bar = models.IntegerField(_("Bar"))
class MyFormOne(forms.ModelForm):
class Meta:
model=MyModel
fields = ('field_foo', )
widgets = {'field_foo': forms.TextInput(attrs={'size': 10, 'maxlength': 50}),}
我想要另一个表单MyFormTwo
,它将通过包含字段field_bar
来子类化该表单。我的重点是不必重复第二种形式的field_foo
的小部件声明(DRY原则),也不必重复来自MyFormOne
的字段列表(实际上,比上面的简单示例中有更多的字段)。在
我应该如何定义MyFormTwo
?在
您不必显式声明整个小部件,只需修改不同的属性即可。 或者,如果您在实际代码中有自定义小部件,我也会
但是对于默认的widgets(带有自定义属性),我会尝试如下方法
我不确定这是否有效(它完全没有经过Django表单/模型的测试),但它是否会让我知道。在
再说一次,我不知道这是否对你有帮助。请告诉我你得到了什么结果。在
这段代码有点旧,但它解释了我能够让表单多重继承工作的唯一方法。很难看。在
http://djangosnippets.org/snippets/703/
还有一张关于它的公开票:https://code.djangoproject.com/ticket/7018
相关问题 更多 >
编程相关推荐