0

视图.py

report = Report.objects.get(user=user.id)
reportnotesform=ReportNotes(instance=report)
if request.method == 'POST':
    locationnotesform=LocationNotes(request.POST,instance=report)
    if locationnotesform.is_valid():
        locationnotesform.save() 

表格.py

class LocationNotes(forms.ModelForm):
    other_location = forms.CharField(widget=forms.TextInput(attrs={'class':'ir-textbox'}))
    location_description = forms.CharField(widget=forms.Textarea(attrs={'style':'width:20em'}))

模型.py

class Report(models.Model):
    user = models.ForeignKey(User, null=False)
    location_description = models.TextField('Location description', null=True, blank=True)
    other_location = models.CharField('Other', max_length=100, null=True, blank=True)

我能够保存数据,表单处于更新模式。

如果我删除字段中的所有数据并单击保存,则该字段没有被保存,这意味着它没有采用空值。

保存空白,但 null 不保存。我希望它也接受 null 值。

4

2 回答 2

1

如果我理解正确,在您的LocationNotes表格中,您还需要制作other_locationlocation_description可选:

other_location = forms.CharField(
    widget=forms.TextInput(attrs={'class':'ir-textbox'}),
    required=False)
于 2013-06-06T08:25:47.157 回答
1

你的模型很好,但形式会给你错误。传递required=False给表单中的字段定义。

class LocationNotes(forms.ModelForm):
    other_location = forms.CharField(required=False, widget=forms.TextInput(attrs={'class':'ir-textbox'}))
    location_description = forms.CharField(required=False, widget=forms.Textarea(attrs={'style':'width:20em'}))
于 2013-06-06T08:26:28.880 回答