我有两个与Quiz
和Difficulty_level
相关的表:
我在admin.py中创建了inline
,如下所示:
class DifficultyLevelInline(admin.TabularInline):
model = DifficultyLevel
并包含在QuizAdmin
要安排列表顺序,我会这样做:
list_display = ('name', 'description', 'publication_date', 'category', 'is_active', 'is_premium')
如何在list_display顺序中添加inlines
。我想在DifficultyLevelInline
之前显示category
。
答案 0 :(得分:4)
不幸的是,使用默认模板无法做到这一点。
如果你看一下change_form模板:
https://github.com/django/django/blob/master/django/contrib/admin/templates/admin/change_form.html
您可以看到内联总是在字段集之后呈现。
解决这个问题的一种方法是使用其他模板:
class MyAdmin(admin.ModelAdmin):
list_display = ('name', 'description', 'publication_date', 'category', 'is_active', 'is_premium')
inlines = (DifficultyLevelInline,)
change_form_template = "my_change_form.html"
答案 1 :(得分:4)
Grapelli支持它:https://django-grappelli.readthedocs.org/en/latest/customization.html#rearrange-inlines
基本上,它通过字段集使用占位符,然后通过JavaScript移动它们: https://github.com/sehmaschine/django-grappelli/blob/master/grappelli/templates/admin/change_form.html#L90-96(搜索占位符,如果行不再匹配)。
同样可以通过自己注入自定义javascript(使用或不使用fieldsets作为占位符)来完成。