У меня есть модель choice
в django. который имеет отношение внешнего ключа с моделью user
и моделью items
. Каждый пользователь может выбрать столько элементов, сколько он хочет, из модели items
, модель choice
будет отслеживать, сколько пользователей выбрали какие элементы. конкретный пользователь может выбрать элемент только один раз, но моя проблема в том, что когда user1 выбирает какой-либо элемент, другой пользователь не может выбрать его снова.
это мой код для выбора заполнения.
Views.py
def choice_fill(request, cid):
item_list = item.objects.all()
title = "Choice Filling"
page = "Choice Filling"
if request.method == "POST":
usr = user.objects.get(id=request.session['id'])
# return render(request, 'success.html',{'stud':stud})
if usr.isactive != 1:
messages.error(request, "Your registration process is incomplete.")
else:
if not choice.objects.filter(item_id_id=cid, isactive=1).exists():
userid = usr.id
c = choice(user_id_id=studid, item_id_id=cid, isactive=1)
c.save()
else:
return HttpResponse('multiple Entry not allowed')
models.py
class user(models.Model):
fullname = models.CharField(max_length=50)
password = models.CharField(max_length=10)
email = models.EmailField(unique=True)
class item(models.Model):
name = models.CharField(max_length=50)
item_code = models.IntegerField(unique=True)
class choice(models.Model):
user_id = models.ForeignKey(user, on_delete=models.CASCADE)
item_id = models.ForeignKey(item, on_delete=models.CASCADE)
created_at = models.DateTimeField(default=timezone.datetime.now())
updated_at = models.DateTimeField(default=timezone.datetime.now())
isactive = models.BooleanField()