Django admin在同一行显示多个字段

kel*_*fix 16 python django django-admin

我创建了一个模型,它将自动显示模型中的所有字段并将其显示在管理页面上.

现在,我有一个问题,我想在同一行上有两个字段,为此我必须在ModelAdmin指定字段集:

fieldsets = (
        (None, {
            'fields': (('firstname', 'lastname'),)
        }),
       )
Run Code Online (Sandbox Code Playgroud)

我必须指定所有字段吗?因为数据库中有许多字段需要指定.

San*_*ndy 25

将这些字段包装在自己的元组中.

class testAdmin(admin.ModelAdmin): fields = (
     'field1',
     ('field2', 'field3'),
     'field4'
)
Run Code Online (Sandbox Code Playgroud)

在上述例子中,字段field2field3显示在一行上.


Jj.*_*Jj. 2

恐怕没有一个简单的方法可以做到这一点。

一种选择是覆盖该 ModelAdmin 的change_form.html 模板并根据您的喜好设置表单样式。

另一种替代方法是执行自定义 ModelForm 并使用呈现两个输入字段的小部件定义一个字段,在表单的 .save() 方法中,将小部件结果值(元组)设置为这两个字段。