NOT NULL constraint failed: Movies_comment.movie_id djnago

Я получаю ошибку NOT NULL constraint failed: Movies_comment.movie_id . Я пытаюсь вернуть среднее значение комментариев и оценок в модели класса Movie, но получаю ошибку NOT NULL constraint failed: Movies_comment.movie_id . Как я могу это исправить?

class Movie(models.Model):
    
    def get_comments(self):
        return Comment.objects.filter(movie_id=self.id)
    
    def average_stars(self):
        comments = self.get_comments()
        n_comments = comments.count()
        if n_comments == 0:
            return 0
        else:
            return sum([comment.stars for comment in comments]) / n_comments
    

class Comment(models.Model):
    comment     = models.TextField(max_length=1000)
    stars       = models.FloatField(
                     blank=False,
                     null=False,
                     default=0, 
                     validators=[MinValueValidator(0.0),
                     MaxValueValidator(10.0)]
                  )

    user        = models.OneToOneField(CustomUser, on_delete=models.CASCADE,)
    movie       = models.ForeignKey(Movie, on_delete=models.CASCADE)
    created_at  = models.DateTimeField(default=datetime.now)
    updated_at  = models.DateTimeField(auto_now=True)
def view_movie_detail(request, movie_id):
    if request.method == "POST":
        user = request.user  
        comment = request.POST.get("comment")
        stars = request.POST.get("stars")
        if not request.user.is_authenticated:
            user = User.objects.get(id=1)

        Comment(comment=comment, stars = stars, user=user,movie_id=movie_id).save()

        return redirect(f"/movie/{movie_id}/")
    else:
        data = requests.get(f"https://api.themoviedb.org/3/movie/{movie_id}?api_key={TMDB_API_KEY}&language=en-US")
        recommendations = requests.get(f"https://api.themoviedb.org/3/movie/{movie_id}/recommendations?api_key={TMDB_API_KEY}&language=en-US")
        comments = reversed(Movie().get_comments())
        average = Movie().average_stars()
        return render(request, "Movie/movie_detail.html", {
            "data": data.json(),
            "recommendations": recommendations.json(),
            "type": "movie",
            "comments": comments,
            "average" : average,
        })

Вышеуказанное исключение (NOT NULL constraint failed: Movies_comment.movie_id) было непосредственной причиной следующего исключения:

Поскольку вы не предоставили трассировку, единственное место, где может возникнуть такая ошибка, находится здесь:

Comment(comment=comment, stars = stars, user=user,movie_id=movie_id).save()

Вы создаете новый объект, но ваша переменная movie_id кажется пустой (None). Вам нужно убедиться, что она передается в представление правильным способом, как http://yourdomain.com/view_movie_detail/12/.

Вернуться на верх