gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 03:51:18 24 4
gpt4 key购买 nike

假设我有 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com