Django Admin - >更改字段顺序,包括内联字段

时间:2009-07-30 14:31:30

标签: django-models django-admin django-forms

我有一个“人”模型,它与其他模型有一对多的关系,例如地址。我想在与Person相同的页面上编辑这些模型,我已经可以通过内联来完成。但我也想改变字段的顺序。

我希望(内联)字段“Address”成为列表中的第三项, 但是对于

字段('first_name','last_name','Adress_Inline','国籍'等..) 我明白了: PersonAdmin.fields'指的是表单中缺少的字段'Address_Inline'。

有没有办法更改字段的顺序并在“常规”模型字段之间获取某些内联字段?

谢谢!

4 个答案:

答案 0 :(得分:0)

您必须手动将管理模板(change_form.html)和硬编码位置扩展到其中。 AFAIK,您不能将内联表单集插入父表单的中间。

答案 1 :(得分:0)

你可以用javascript做到这一点。您需要覆盖模板,并可能添加一些div标签。然后硬编码您想要复制的div,然后隐藏原始div(使用内联)。 我希望有所帮助。

答案 2 :(得分:0)

每当Django呈现管理表单模板时,变量中都会显示内联字段列表 {{inline_admin_formset}},您可以使用它在您自己的自定义change_form.html模板中的任何位置显示内联字段。

你必须扩展change_form.html模板才能做到这一点,没有别的办法。

答案 3 :(得分:0)

用户django字段集,用于定义视图的字段顺序和添加/编辑对象视图。

class YourCustomClass(admin.ModelAdmin):

    models = Your_Model
    fieldsets = ((None, {'fields': ('image', 'name',)}),)

    add_fieldsets = ((None, {'fields': ('name', 'image',)}),)