django – 从自定义模型继承时保留ModelAdmin属性(list_display
发布时间:2020-12-20 11:22:30 所属栏目:Python 来源:网络整理
导读:我有一系列的表格,我想都有一个订单字段.所以我做了一个抽象的模型: class OrderedModel(models.Model): order = models.IntegerField(default=-1) def _order(self): pass #ordering widget for changelist_view _order.allow_tags = True def save(self,*
我有一系列的表格,我想都有一个订单字段.所以我做了一个抽象的模型:
class OrderedModel(models.Model): order = models.IntegerField(default=-1) def _order(self): pass #ordering widget for changelist_view _order.allow_tags = True def save(self,*args,**kwargs): #set order = 0 if < 0 super(OrderedModel,self).save(*args,**kwargs) class Meta: abstract = True 我不希望他们更改change_view中的“order”字段,因此我创建了以下ModelAdmin: class OrderedAdmin(models.ModelAdmin): list_display = ("__str__","_order","order") list_editable = ("order",) readonly_fields = ("order",) 只要从OrderedModel继承的每个模型都不需要list_display,list_editable或readonly_fields中的任何项目,那就没问题.例如,以下内容会生成错误,因为order在list_editable中但不在list_display中: class Chapter(OrderedModel): title = models.CharField(max_length=32) class ChapterAdmin(OrderedAdmin): list_display = ("title",) 我注意到有一个get_readonly_fields我可以更改以确保“order”被添加到readonly_fields,但是没有get_list_display或get_list_editable来重写.是否有可能做到这一点? 解决方法class ChapterAdmin(OrderedAdmin): list_display = OrderedAdmin.list_display + ("title",) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读