我试着做一些简单的事情,比如:
members = models.ManyToManyField(User, blank=True, null=True, unique=True)
但"独一无二"是不允许的.当查看创建的表时,它会生成外键,因此我认为这意味着唯一性.
我希望能够将成员与代表一个组的模型相关联.该组可以没有成员,但我不希望同一个成员能够加入该组两次.
我的 idea 是,如果我try 这样做,就会抛出异常,但似乎没有抛出异常.
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()
人会默默地失败吗?我是否应该在添加之前判断用户是否已经被包含?