class User:
username = (unique=True)
class Object:
user = models.ForeignKey(settings.AUTH_USER_MODEL)
name = ()
我如何拥有多个具有相同名称的对象,但每个用户只能拥有一个唯一的对象名称。
例如:
user1只能有一个唯一的对象名称“dog”, user2也只能有一个唯一的对象名称“dog”, 因此可以有多个具有相同名称“dog”的对象,但每个用户只能通过ForeignKey拥有一个名为“dog”的对象。如果user1尝试创建另一个名为“dog”的对象,则提出类似表单验证错误的内容。
答案 0 :(得分:4)
您可以使用unique_together
选项添加数据库约束。
class MyModel(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
name = models.CharField(max_length=30)
class Meta:
unique_together = ['user', 'name']