Я пытаюсь сделать что-то простое, как это:
members = models.ManyToManyField(User,blank=True,null=True,unique=True)
, но уникальное не допускается. Глядя на созданную таблицу, он делает внешние ключи настолько уникальными, насколько я понимаю.
Я хочу иметь возможность ассоциировать участников с этой моделью, представляющей группу. В группе не может быть участников, но я не хочу, чтобы один и тот же участник мог присоединиться к группе дважды.
Я бы подумал, что будет исключение, если я попытаюсь это сделать, но кажется, что исключение не выдается.
def join(request,id):
user = request.user
mygroup = Group.objects.get(id=id)
mygroup.members.add(user)
mygroup.num_members+=1
mygroup.save()
num_members увеличивается, потому что не генерируется исключение. Дублированные пользователи не отображаются в утилите администратора. Add () не работает тихо? Должен ли я просто проверить, содержится ли пользователь уже перед добавлением?
Спасибо!