我正在使用两个级别的django-nested-inline
包。在
class OrdersAdmin(NestedModelAdmin):
inlines = [PointsInLine,]
form = OrdersModelForm
class PointsInLine(NestedStackedInline):
model = Points
fk_name = 'order_id'
inlines = [AddressesInLine]
class AddressesInLine(NestedStackedInline):
model = Addresses
fk_name = 'point'
form = AddressModelForm
如您所见,我还为最后一级(AddressesInLine
)创建了一个自定义表单,如下所示:
同样,我用一个定制的小部件覆盖字段'address'(由于简单起见,我将不包括它)。在
最后,问题是:当我保存时,这个自定义字段地址不会被保存,即使我试图覆盖表单的save()方法,我也无法在任何字典中看到该值。那么,我在创建自定义表单时是否遗漏了一些内容?
提前谢谢!在
问题是您正在调用
super(ModelForm, self).__init__
方法,它是Form
类的__init__
方法。因此,您的类被构造成一个普通的Form
,而不是ModelForm
。在您应该改为调用
super(AddressModelForm, self).__init__
。请记住:super
的第一个参数是需要为其获取父类型方法的子类型。您可以找到有关super
here的更多信息。在相关问题 更多 >
编程相关推荐