Django 管理员。在同一个列表中列出超过 1 个模型

标签 django django-admin

假设我有 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 的表格或另一个将所有水果与其属性相关联的表(titleis_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)

使用此代码,您将获得如下图所示的列表:

enter image description here

关于Django 管理员。在同一个列表中列出超过 1 个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22500083/

相关文章:

javascript - Django 或 Python 中的代理服务器

Django 外键查询最佳实践

python - Django Rest 框架中的最佳实现 follow 和 unfollow

javascript - Javascript 编写的游戏的服务器端高分

Django:在成功保存表单后自定义消息

Django 管理,过滤内联表单集的对象

python - 如何显示外键属性 Django 管理字段?

Django 管理模板覆盖 : Displaying checkboxselectmultiple widget

python - 管理站点同时添加2个相关模型

django - 设计问题: To what extent should the Django Admin site be used?