【发布时间】:2016-02-29 14:22:10
【问题描述】:
class MyCustomInline(admin.TabularInline):
min_num = 1
extra = 0
fields = ['matcher', 'param0', 'param1']
model = MyModel
form = MyCustomInlineForm
def get_formset(self, request, obj=None, **kwargs):
extra_fields = {
'param0': forms.CharField(label='First Param', required=False),
'param1': forms.CharField(label='Second Param', required=False)
}
kwargs['form'] = type('MyCustomInline', (MyCustomInlineForm,), extra_fields)
return super(MyCustomInline, self).get_formset(request, obj, **kwargs)
这基本上是我定义内联表单的方式,它有两个额外的字段 - matcher 是相关表中的标准字段,内联表单会自动处理它。我通过覆盖MyCustomInlineForm 中的save() 将额外的参数值保存在不同的存储中。
但是,如果我编辑现有记录 - 匹配器值会正确显示,但我显然还想用相应的值预加载 param0 和 param1。我在哪里可以联系到这样做?
【问题讨论】:
标签: python django django-admin