如果我有3个型号 - 如下所示的香蕉,橙子和苹果。
#models.py
class banana(fruit):
pass
class apple(fruit):
pass
class orange(fruit):
pass
class fruit (models.Model):
title = models.CharField(max_length="150")
is_rotten = models.BooleanField(default=False)
class Meta:
abstract=True
在管理员中,我想在列表中一起显示所有水果,但是将is_rotten显示为可编辑的复选框,以便可以一起查看所有水果并批量分配is_rotten变量。
class fruitAdmin(admin.ModelAdmin):
list_display = ('title', 'is_rotten')
list_editable = ('is_rotten',)
我已经做到了这一点,但是在同一个管理列表中围绕多个模型进行搜索并不能带来任何好处。是否有可能创建我正在设想的列表?
谢谢,
答案 0 :(得分:2)
您需要一张fruit
表格或另一张表格,其中包含所有水果及其属性(title
和is_rotten
)。使用你编写的模型,你不能那样做,因为Django admin
不支持注册抽象类。< / p>
因此,如果您将fruit
课程更改为:
class fruit (models.Model):
title = models.CharField(max_length="150")
is_rotten = models.BooleanField(default=False)
保留其他模型:
class banana(fruit):
pass
class apple(fruit):
pass
class orange(fruit):
pass
并将其添加到您的your_app/admin.py
模块中:
class FruitAdmin(admin.ModelAdmin):
list_display = ("title", "is_rotten")
admin.site.register(myapp.models.fruit, FruitAdmin)
使用此代码,您将获得一个列表,如下图所示: