Django Admin:模型外键具有null和空白= True,但是在Admin中使用formfield_for_foreignkey使其成为必需的



我的模型有一个ForeignKey,null=True/blank=True,但当我试图在Django Admin中更改对象时,我使用的是

def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'parent_locale':
return ParentLocaleChoiceField(queryset=models.Locale.objects.all().order_by('display'))
return super().formfield_for_foreignkey(db_field, request, **kwargs)

以改变数据在那里的显示方式。但是现在这样做会在提交时抛出一个错误,说字段是必需的。使用formfield_for_foreignkey更改选项字段显示时,如何使该字段不为必需?

在ParentLocaleChoiceField 上添加required=False

def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'parent_locale':
return ParentLocaleChoiceField(queryset=models.Locale.objects.all().order_by('display'), required=False)
return super().formfield_for_foreignkey(db_field, request, **kwargs)

最新更新