Django admin inline - 仅在更改对象时显示

Mil*_*ano 3 python django django-admin python-3.x

我有一个UserProfile有许多必填(不是空而是空白)字段的字段,我试图在添加用户时不显示它。

我尝试了多种方法,例如:

def get_formsets_with_inlines(self, request, obj=None):
    if not obj:
        return []
    return super().get_formsets_with_inlines(request, obj)
Run Code Online (Sandbox Code Playgroud)

但保存后Userdjango会引发错误,指出来自的字段UserProfile不能为空。

你知道如何让它发挥作用吗?

Web*_*tor 6

从 Django 3.0 开始,有一个ModelAdmin.get_inlines()方法,您可以像这样覆盖它:

def get_inlines(self, request, obj=None):
    if obj:
        return [FirstInline, SecondInline]
    else:
        return []
Run Code Online (Sandbox Code Playgroud)

请参阅 Django 文档