2
假设我们在模型中有一个类继承了其他几个类。现在我们还定义一个admin类来控制管理界面中的布局。Django admin覆盖字段集
我们可以让所有其他管理类继承(就像我们在模型中做的那样),但是我们如何覆盖字段集以添加一些新值?
例子:
在模型文件:
class A(models.Model):
field1 = models.TextField(..)
field2 = models.TextField(..)
class B(A):
field3 = models.TextField(..)
在管理文件:
class A_Admin(admin.ModelAdmin):
fieldsets = (
(None, {
'fields': (('field1', 'field2'))
}),
)
class B_Admin(A_Admin):
pass # here I notice that it takes the fields from A_admin, I would like to add my field 3 without rewriting the fieldsets
admin.site.register(A, A_Admin)
admin.site.register(B, B_Admin)
产生的字段集将是:
(
(None, {
'fields': (('field1', 'field2'))
}),
('Specific to B', {
'fields': ('field3')
}),
)