假设我有 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',)
我已经走了这么远,但是在同一个管理列表中搜索多个模型并没有带来任何东西。是否可以创建我设想的列表?
谢谢,
最佳答案
您需要一张 fruit
的表格或另一个将所有水果与其属性相关联的表(title
和 is_rotten
)。使用您编写的模型,你不能这样做 , 自 Django admin
不支持注册摘要 类。
所以如果你改变你的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)
使用此代码,您将获得如下图所示的列表:
关于Django 管理员。在同一个列表中列出超过 1 个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500083/