【问题标题】:Reorder Fields of FeinCMS Content Type in Page Admin在页面管理中重新排序 FeinCMS 内容类型的字段
【发布时间】:2016-10-12 13:58:47
【问题描述】:
我让一个内容类型继承自 RichTextContent 并添加一些字段,例如标题。
class SimpleTextContent(RichTextContent):
title = models.CharField(max_length=20)
...
不幸的是,在页面管理中,文本字段将出现在相应的内联管理顶部。但最好先出现title。
如何更改内容类型的内联管理中的字段顺序?
【问题讨论】:
标签:
django
django-forms
django-admin
feincms
【解决方案1】:
你必须在SimpleTextContent(docs)上定义feincms_item_editor_inline:
from feincms.admin.item_editor import FeinCMSInline
class SimpleTextInlineAdmin(FeinCMSInline):
fields = ('title', 'text', 'order', 'region')
class SimpleTextContent(RichTextContent):
feincms_item_editor_inline = SimpleTextInlineAdmin
title = models.CharField(max_length=20)
请注意始终包含 order 和 region,即使它们未显示在管理员中。
【解决方案2】:
这行得通吗?
class SimpleTextContent(RichTextContent):
title = models.CharField(max_length=20)
...
class Meta:
ordering = ['title', 'some_other_field`,]
【讨论】:
-
非常感谢@Newtt,但它不起作用。根据docs,ordering 确定“对象的默认排序,用于获取对象列表时使用”,即查询集中对象的顺序。