Django 模型约束

时间:2021-01-31 02:35:00

标签: django django-models

我有以下型号

from django.db import models

class league(models.Model):
name = models.CharField(max_length=64)

def __str__(self):
    return f"{self.name}"

class player(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=128)
age = models.IntegerField()
position = models.CharField(max_length=1)
nteam = models.CharField(max_length=128)

def __str__(self):
    return f"{self.id} {self.name} {self.age} {self.position} {self.nteam}"

class team(models.Model):
name = models.CharField(max_length=64)
league = models.ForeignKey(league, null=True, blank=True, on_delete=models.CASCADE, related_name="teams")
roster = models.ManyToManyField(player, blank=True, related_name="rosters")

def __str__(self):
    return f"{self.name} {self.league}"

我的目标是拥有许多不同的联赛,每个联赛包含多支球队。我希望一名球员只被添加到联盟的一支球队中。现在我创建了一个联盟,添加了几支球队,然后为每支球队添加了球员。到目前为止,如果我愿意,我可以带一名球员加入同一个联赛的所有球队。您将如何添加约束,以便一旦将一名球员添加到团队中,就不能再将其添加到同一联赛中的另一支球队?

0 个答案:

没有答案
相关问题