Получаю ошибку при попытке создать или обновить рейтинг товара
в общем получаю ошибку
django.db.utils.IntegrityError: UNIQUE constraint failed: catalog_rating.user_id
вот код модели
class Rating(models.Model):
"""Рейтинг"""
star = models.ForeignKey(RatingStar, on_delete=models.CASCADE, verbose_name="звезда")
product = models.ForeignKey(Product, on_delete=models.CASCADE, verbose_name="Товар", related_name="ratings")
user = models.OneToOneField(User, on_delete=models.CASCADE)
def __str__(self):
return f"{self.star} - {self.product}"
class Meta:
verbose_name = "Рейтинг"
verbose_name_plural = "Рейтинги"
обработчик views
class AddStarRating(View):
"""Добавление рейтинга продукта"""
form_class = RatingForm
template_name = 'add_rating'
def post(self, request):
form = self.form_class(request.POST)
if form.is_valid():
print(request.user.id)
Rating.objects.update_or_create(
user_id = request.user.id,
product_id=int(request.POST.get("product")),
star_id= int(request.POST.get("star"))
)
return HttpResponse(status=201)
else:
return HttpResponse(status=400)
не понятно почему я получаю такую ошибку при попытке обновить рейтинг. При выводе id_user что я подставляю выдает такой же как и записан в бд, но рейтинг не обновляется.