Делаю сайт на джанго. Я делаю голосование и хочу, чтобы в бд попадал проголосовавший пользователь, для чего пишу voter.request.user. Но из-за этого возникает эта ошибка. Как мне ее исправить?
django.db.utils.IntegrityError: UNIQUE constraint failed: registration_choose.id
[28/Dec/2021 20:11:17] "GET / HTTP/1.1" 500 17808
views.py:
def home(request):
value, created = Choose.objects.get_or_create(voter=request.user, pk=1)
context = {
"value": value,
}
return render(request, 'registration/home.html', context)
def black(request):
value, created = Choose.objects.get_or_create(voter=request.user, pk=1)
if request.method == 'POST':
select_action = request.POST['choose']
if select_action == 'black':
value.count_black += 1
value.save()
else:
return render(request, 'registration/black.html', {"value": value})
return redirect("home")
context = {"value": value}
return render(request, 'registration/black.html', context)
models.py:
from django.contrib.auth.models import User
from django.db import models
class Choose(models.Model):
count_black = models.PositiveIntegerField(default=0, verbose_name="black")
count_white = models.PositiveIntegerField(default=0, verbose_name="white")
count_purple = models.PositiveIntegerField(default=0, verbose_name="purple")
voter = models.ForeignKey(User, null=True, verbose_name='Пользователь',
on_delete=models.PROTECT)