我有以下两种模式:
class TournamentTeam(models.Model)
profiles = models.ManyToManyField(Profile) # Profile is my user
name = models.CharField(max_length=255)
def __str__(self):
return self.name
class Tournament(models.Model):
name = models.CharField(max_length=255, verbose_name='navn')
description = models.TextField(verbose_name='beskrivelse')
team_size = models.IntegerField()
teams = models.ManyToManyField('TournamentTeam')
def __str__(self):
return self.name
我希望name
为tournament
TournamentTeam
和unique_together
(由django自动生成)。
我尝试过简单地添加:
class Meta:
unique_together = (('name', 'tournament'),)
没有成功。 我也尝试过初始化,但也没有成功。
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self._meta.unique_together = (('name', 'tournament'),)
答案 0 :(得分:0)
unique_together用于模型字段。 '锦标赛不是一个领域'。 也许你想要' name'和'团队'但这也不会起作用,因为unique_together不能与ManyToManyField一起使用。
看看这里:https://docs.djangoproject.com/en/1.10/ref/models/options/#unique-together