在Django Admin中,我是否可以根据外键排列对象列表(创建标题并将对象分组到相应的标题下)?
我有两个模型,章节和元素。各章由要素组成在Django Admin中,我是否可以根据外键排列对象列表(创建标题并将对象分组到相应的标题下)?,django,Django,我有两个模型,章节和元素。各章由要素组成 class Chapter(models.Model): title = models.CharField(max_length=100) # ... class Element(models.Model): chapter = models.ForeignKey(Chapter, on_delete=models.CASCADE, related_name="elements") # ... class Met
class Chapter(models.Model):
title = models.CharField(max_length=100)
# ...
class Element(models.Model):
chapter = models.ForeignKey(Chapter, on_delete=models.CASCADE, related_name="elements")
# ...
class Meta:
ordering = ['index_number']
有许多元素,每个元素都属于一个特定的章节。
索引编号
确定元素在其章节中的位置
在Django Admin中,我是否可以自定义元素列表的显示(“选择要更改的元素”页面),以便显示标题(如“字段集”标题,但基本上是章节标题),并根据元素所属的章节对元素进行分组
所需的输出如下所示:
Chapter 1 title
--------------------------
elm1_1
elm1_2
--------------------------
Chapter 2 title
--------------------------
elm2_1
elm2_2
--------------------------
etc.
在您的
模板中
目录创建管理员
目录,在管理员
中使用应用程序的名称创建另一个目录最后在上次创建的目录中使用您的模型的名称创建一个目录
,在您的情况下,它将是元素
。最后,你应该有:
templates/admin/app_name/element/
现在要更改元素的列出方式,需要覆盖change\u list.html
模板。您可以通过将contrib/admin/templates/admin/change\u list.html
复制到templates/admin/my\u app/element/
目录,然后对您的版本进行所需的更改。更多关于这个
为了简化此操作,您可能需要覆盖Django admin的默认queryset,您可以通过以下方式完成此操作:
class MyModelAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(MyModelAdmin, self).get_queryset(request)
#your grouping goes here
在您的
模板中
目录创建管理员
目录,在管理员
中使用应用程序的名称创建另一个目录最后在上次创建的目录中使用您的模型的名称创建一个目录
,在您的情况下,它将是元素
。最后,你应该有:
templates/admin/app_name/element/
现在要更改元素的列出方式,需要覆盖change\u list.html
模板。您可以通过将contrib/admin/templates/admin/change\u list.html
复制到templates/admin/my\u app/element/
目录,然后对您的版本进行所需的更改。更多关于这个
为了简化此操作,您可能需要覆盖Django admin的默认queryset,您可以通过以下方式完成此操作:
class MyModelAdmin(admin.ModelAdmin):
def get_queryset(self, request):
qs = super(MyModelAdmin, self).get_queryset(request)
#your grouping goes here
谢谢你的回复!我正在查看
change\u list.html
模板,其中有{%result\u list cl%}
块显然负责输出包含元素的表。我如何定制该块?感谢您的回复!我正在查看change\u list.html
模板,其中有{%result\u list cl%}
块显然负责输出包含元素的表。如何自定义该块?