当我在 django2 中添加功能时遇到问题无法添加新帖子并且这段代码/notes/add NOT NULL 约束处出现 IntegrityError 失败:notes_note.created的观点 def note_add(request): # form = NoteForm() if request.method == 'POST': form = NoteForm(request.POST) if form.is_valid(): new_form = form.save(commit=False) new_form.user = request.user new_form.save() return redirect('/notes') else: form = NoteForm() context={ "form":form, } return render(request, 'add.html', context )
1 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
您没有为模型created
中的字段设置默认值Note
。因此,没有填写任何值,因此出现错误:您可以将参数auto_now_add=…
[Django-doc]设置为True
自动将其设置为创建对象时的时间戳:
class Note(models.Model):
# …
created = models.DateTimeField(auto_now_add=True)
通常最好改变.instance表格中的包裹,让表格成为.save()模型。如果您(稍后)向模型添加多对多关系Note,这尤其有用,因为表单以更透明的方式处理此逻辑:
def note_add(request):
if request.method == 'POST':
form = NoteForm(request.POST)
if form.is_valid():
form.instance.user = request.user
form.save()
return redirect('/notes')
else:
form = NoteForm()
context={
'form': form,
}
return render(request, 'add.html', context)
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消