我在模型中有一个“必需”的字段(子项),但想将ModelAdmin类中的字段更改为可选字段。如果用户未填写,则会由另一个字段(名称)自动填写。
class SomeModel(model.Model):
name = model.CharField(max_length=255)
slug = model.SlugField(unique=True, max_length=255)
Run Code Online (Sandbox Code Playgroud)
我尝试了各种方法,例如在ModelAdmin中覆盖get_form()或使用ModelForm类并专门指定表单。
class SomeModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
form = super(self.__class__, self).get_form(request, obj, **kwargs)
form.slug.required = False
return form
Run Code Online (Sandbox Code Playgroud)
但是,这两种解决方案都不适合我。除了手动创建表单外,还有其他更快的解决方案吗?
我有很多这样的表格,而手工操作可能很繁琐且难以维护。