所以我还是Django的新手。我的表单中有一个字段。我只是想知道我是否需要表单保存功能或模型保存功能?什么时候适合使用?或
例如:我的表格:
class OpinionStatusForm(forms.Form):
choices = (('0', "Your Status"), ('1', "This"), ('2', "That"), ('3', "The Other"))
status = forms.CharField(max_length=2, widget=forms.Select(choices=choices, attrs={'class':'status_dropdown','onchange': 'this.form.submit();'}), required=False)
def save(self, opinion_status):
opinion_status.status = self.cleaned_data['status']
我的模特:
class OptionStatus(models.Model):
user = models.ForeignKey(User, null=True, unique=True)
status = models.CharField(max_length=2, choices=opinion_statuses)
opinion = models.ForeignKey(Opinion, null=True, blank=True)
def __unicode__(self):
return self.status
def save(self, *args, **kwargs):
super(OpinionStatus, self).save(*args, **kwargs)
我要打电话给表格。我不知道这是否有所作为。谢谢!
答案 0 :(得分:2)
你真正需要的是一个ModelForm。在您的示例中,您正在使用标准form.Form。这不是绑定到模型实例。因此,也不需要保存方法。最好的例子是在Django文档中给出的:
https://docs.djangoproject.com/en/dev/topics/forms/modelforms/
逐步完成代码示例,您将理解。在Stackoverflow的一个答案中解释这一切太过分了 - 而且Django文档非常难以理解。