Esc*_*her 1 python generics django
假设我创建了一个MyModel具有FileFieldusingCreateView和 associated的模型实例,MyModelCreateForm现在我想在不上传相同头像图像的情况下更新它:
class MyModel(models.Model):
name = models.CharField()
avatar = models.ImageField()
class MyModelCreateForm(forms.ModeForm):
class Meta:
model = MyModel
exclude = None
class MyModelCreate(CreateView):
model = MyModel
form_class = MyModelCreateForm
class MyModelCreate(UpdateView):
model = MyModel
form_class = ?
Run Code Online (Sandbox Code Playgroud)
在 CreateView 的表单上,图像是强制性的。如果我想让它在更新字段上是可选的,那么最像 Django 的方式是什么?
我是否需要为继承自MyModelCreateForm但覆盖ImageFieldrequired属性的 UpdateView 创建一个新表单?还是有更“含电池”的方式?
小智 5
这是使字段成为必需的解决方案:
class Foo(CreateView):
model = Fiz
fields = ('bar',)
def get_form(self, form_class=None):
form = super(Foo, self).get_form(form_class)
form.fields['bar'].required = True
return form
Run Code Online (Sandbox Code Playgroud)