【发布时间】:2015-03-11 11:53:24
【问题描述】:
我的模特:
class Event(models.Model):
title = models.CharField(max_length=255)
start = models.DateTimeField()
end = models.DateTimeField()
theme = models.ForeignKey(Theme)
class Theme(models.Model):
name = models.CharField(max_length=100)
color = models.CharField(max_length=50)
text_color = models.CharField(max_length=50)
我的表格:
class EventForm(ModelForm):
class Meta:
model = Event
fields = ['title', 'start', 'end']
theme = forms.ModelChoiceField(
queryset=Theme.objects.filter(public=True),
empty_label='None'
)
我的看法:
@login_required
def index(request):
if request.method == 'POST':
form = EventForm(request.POST)
if form.is_valid():
form.save()
现在,如果我在表单星号、结尾、标题中填写值并从 django 为我创建的列表中选择一个主题,当我尝试运行 form.save() 方法时会出现错误。
IntegrityError: null value in column "theme_id" violates not-null constraint
但是当我查看 form.cleaned_data 时,我可以看到在主题中是我的主题模型的一个实例可用。
【问题讨论】:
-
我很确定您需要在您的
fields中包含theme。