使用Django模型形式,我的models.py收到一個錯誤,而在views.py
class Alert(models.Model):
user = models.CharField(max_length=30, blank=True)
a = models.IntegerField(blank=True)
def __unicode__(self):
return "'%s' at %s" % (self.user)
在我forms.py:
class AlertForm(forms.ModelForm):
class Meta:
model=Alert
fields = ('a','user')
widgets = {
'user': forms.HiddenInput()
}
AlertCountFormset = modelformset_factory(Alert,
form = AlertForm)
在我views.py:
def profile_setting(request, slug):
if request.method == 'GET':
form = AlertForm(request.POST)
if form.is_valid():
alert_form = form.save(commit=False)
alert_form.user = request.user.username
alert_form.save() # Here i am getting the error
return HttpResponseRedirect('/user/list')
extra_context = {
'form': AlertForm()
}
return direct_to_template(request,'users/profile_setting.html',
extra_context)
我想填充Django模型窗體,但我得到以下error
我在那裏發表評論:
events_alertcount.a may not be NULL
這是什麼?即使在將null=True
置於a
的字段中後,也會顯示相同的錯誤。我的forms.py or models.py
有什麼問題嗎?
您的視圖代碼片段中還有一個錯誤,並不重要。但是您再次檢查請求GET並從POST收集表單。 –