我有一系列我希望都具有订单字段的表。所以我做了一个抽象的模型:从自定义模型继承时保留ModelAdmin属性(list_display等)
我不希望他们更改change_view“命令”字段,所以我提出以下的ModelAdmin:
class OrderedAdmin(models.ModelAdmin):
list_display = ("__str__","_order","order")
list_editable = ("order",)
readonly_fields = ("order",)
这很好,只要从OrderedModel继承的每个模型不需要list_display,list_editable或readonly_fields中的更多项目。
class Chapter(OrderedModel):
title = models.CharField(max_length=32)
class ChapterAdmin(OrderedAdmin):
list_display = ("title",)
我注意到,有一个get_readonly_fields,我可以改变,以确保“订单”被添加到readonly_fields,但没有:例如,由于订单是在list_editable但不list_display下面会产生一个错误get_list_display或get_list_editable来重写。是否有可能做到这一点?
当然。如果你在'ChapterAdmin'中设置了'list_display =(“title”,)'你会如何期待它成为其他东西?如果你想要'订单'和'标题',你需要一个告诉'list_display =(“order”,“title”)'的语句。 @SimonKagwi给你一个方便,干爽的方式。 – Stan 2011-12-26 23:19:35