【发布时间】:2012-06-30 22:49:18
【问题描述】:
在我的models.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)
在我看来.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 有问题吗?
【问题讨论】:
-
您的视图代码的 sn-p 也有错误,这并不重要。但是您再次检查请求 GET 并从 POST 收集表单。
标签: django django-models django-forms django-views