You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django添加书籍时出现NOT NULL约束失败错误求助

解决书籍添加时的NOT NULL约束错误

错误原因:你的Books模型中user字段是必填外键(默认不允许为空),但AddBook视图创建书籍对象时,未将当前登录用户关联到新书籍上,导致数据库约束校验失败。

解决方法:在AddBook视图中重写form_valid方法,手动将当前登录用户赋值给表单对应的书籍实例:

from django.views import generic
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import Books
from .forms import AddBookForm

class AddBook(LoginRequiredMixin, generic.CreateView):
    model = Books
    form_class = AddBookForm
    template_name = 'books/add_book.html'

    def form_valid(self, form):
        # 将当前登录用户关联到新创建的书籍
        form.instance.user = self.request.user
        # 调用父类方法完成后续保存逻辑
        return super().form_valid(form)

额外说明:确保AddBookForm表单中不要包含user字段,该字段由视图自动填充,无需用户在表单中输入。

内容的提问来源于stack exchange,提问作者Hasan MicroB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 06:03:14