Django:使模型中的值对用户而言是唯一的
Django: Making a value in a model unique specific to a user
我有一个项目模型:
class Project(models.Model):
name = models.CharField(max_length=200, unique=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
我想让项目名称成为每个用户的唯一值,但目前如果用户 1 创建名称“项目 1”,则用户 2 无法使用该项目名称。
解决此问题的最佳方法是什么?
谢谢!
unique_together 可能就是您要找的。
class Project(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User, on_delete=models.CASCADE)
class Meta:
unique_together = (('name', 'user'),)
我有一个项目模型:
class Project(models.Model):
name = models.CharField(max_length=200, unique=True)
user = models.ForeignKey(User, on_delete=models.CASCADE)
我想让项目名称成为每个用户的唯一值,但目前如果用户 1 创建名称“项目 1”,则用户 2 无法使用该项目名称。
解决此问题的最佳方法是什么?
谢谢!
unique_together 可能就是您要找的。
class Project(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User, on_delete=models.CASCADE)
class Meta:
unique_together = (('name', 'user'),)