Django:NOT NULL 约束失败:course_courserating.user_id
Django: NOT NULL constraint failed: course_courserating.user_id
我正在尝试创建一个用户可以对课程进行评论和评分的逻辑,我的 views.py 中的逻辑看起来不错,但我一直收到此错误 NOT NULL constraint failed: course_courserating.user_id
我删除了一些 null=True
来自我的模型,但它仍然显示错误。
views.py
if request.method == "POST":
form = CourseRatingForm(request.POST)
if form.is_valid():
rating_form = form.save(commit=False)
user = request.user
course = course
rating_form.save()
messages.success(request, f'You review was sent successfully!')
return redirect("course:course-detail", course.slug)
else:
form = CourseRatingForm
models.py
class Course(models.Model):
course_title = models.CharField(max_length=10000)
slug = models.SlugField(unique=True)
class CourseRating(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE, null=True)
rating = models.CharField(max_length=1000, choices=USER_COURSE_RATING)
review = models.TextField()
date = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False)
def __str__(self):
return f"{self.course.course_title} - {self.rating}"
您需要将其分配给 CourseRating
对象,因此:
if request.method == 'POST':
form = CourseRatingForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
form.instance.course = course
form.save()
messages.success(request, f'You review was sent successfully!')
return redirect('course:course-detail', course.slug)
else:
form = CourseRatingForm()
我正在尝试创建一个用户可以对课程进行评论和评分的逻辑,我的 views.py 中的逻辑看起来不错,但我一直收到此错误 NOT NULL constraint failed: course_courserating.user_id
我删除了一些 null=True
来自我的模型,但它仍然显示错误。
views.py
if request.method == "POST":
form = CourseRatingForm(request.POST)
if form.is_valid():
rating_form = form.save(commit=False)
user = request.user
course = course
rating_form.save()
messages.success(request, f'You review was sent successfully!')
return redirect("course:course-detail", course.slug)
else:
form = CourseRatingForm
models.py
class Course(models.Model):
course_title = models.CharField(max_length=10000)
slug = models.SlugField(unique=True)
class CourseRating(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
course = models.ForeignKey(Course, on_delete=models.CASCADE, null=True)
rating = models.CharField(max_length=1000, choices=USER_COURSE_RATING)
review = models.TextField()
date = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False)
def __str__(self):
return f"{self.course.course_title} - {self.rating}"
您需要将其分配给 CourseRating
对象,因此:
if request.method == 'POST':
form = CourseRatingForm(request.POST, request.FILES)
if form.is_valid():
form.instance.user = request.user
form.instance.course = course
form.save()
messages.success(request, f'You review was sent successfully!')
return redirect('course:course-detail', course.slug)
else:
form = CourseRatingForm()