Я пытаюсь сделать что-то простое, например:
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 () происходит тихо? Должен ли я просто проверить, есть ли пользователь уже перед добавлением?
Спасибо!