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'),)