我有一个用于更新模型的模型表单.
class Turtle(models.Model):
name = models.CharField(max_length=50, blank=False)
description = models.TextField(blank=True)
class TurtleForm(forms.ModelForm):
class Meta:
model = Turtle
Run Code Online (Sandbox Code Playgroud)
有时我不需要更新整个模型,但只想更新其中一个字段.因此,当我发布表格时,只有描述信息.当我这样做时,模型永远不会保存,因为它认为名称被删除,而我的意图是名称不会改变,只是从模型中使用.
turtle_form = TurtleForm(request.POST, instance=object)
if turtle_form.is_valid():
turtle_form.save()
Run Code Online (Sandbox Code Playgroud)
有没有办法让这种情况发生?谢谢!
仅使用指定的字段:
class FirstModelForm(forms.ModelForm):
class Meta:
model = TheModel
fields = ('title',)
def clean_title(self....
Run Code Online (Sandbox Code Playgroud)
当您需要不同的功能时,通常在不同视图中对模型使用不同的ModelForms.因此,为使用相同行为(比如clean_<fieldname>方法等)的模型创建另一个表单使用:
class SecondModelForm(FirstModelForm):
class Meta:
model = TheModel
fields = ('title', 'description')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5224 次 |
| 最近记录: |