我有一个游戏玩家的 Django 模型
class Player(models.Model):
name = models.CharField(max_length=50)
team = models.ForeignKey('Team', on_delete=models.CASCADE, blank=True, null=True)
game = models.ForeignKey('Game', on_delete=models.CASCADE)
objects = GameManager()
class Meta:
unique_together = ('name', 'game',)
Run Code Online (Sandbox Code Playgroud)
我只有一个独特的约束,即名称和游戏是独一无二的。
现在,我想通过添加注册用户来扩展我们的页面。因此,我会将其添加到模型中。
user = models.ForeignKey('auth.User', on_delete=models.CASCADE, blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)
因此,注册用户可以通过添加名称、团队、游戏和他/她的用户来订阅游戏。但是,用户应该只能将他的帐户添加到游戏中,这将是第二个独特的限制
unique_together = ('user', 'game',)
Run Code Online (Sandbox Code Playgroud)
是否可以在 Django 中为模型提供两个独特的约束?或者我是否必须在保存新条目之前手动在表中搜索?或者,还有更好的方法?
谢谢