我有三个型号。我省略了一些不相关的领域。
class Team(models.Model):
name = models.CharField(max_length=100)
class Player(models.Model):
name = models.CharField(max_length=100)
class Match(models.Model):
home = models.ForeignKey(Team)
away = models.ForeignKey(Team)
home_players = models.CharField(max_length=100, null=True)
away_players = models.CharField(max_length=100, null=True)
home_players
和away_players
具有玩家ID列表的类型,例如[1,2,3,...,15]。
我想知道更好的方法,比如使用外键列表。
因为,我在 Django Admin Page 中手动插入玩家ID时遇到了一些麻烦。在Player()
中找到玩家姓名并匹配玩家的ID需要花费很多时间。如果我可以在Player()
和Team()
之间分配某种关系,我想这项任务会更容易。
答案 0 :(得分:2)
这将是many-to-many关系。
https://docs.djangoproject.com/en/1.9/topics/db/examples/many_to_many/
class Match(models.Model):
home = models.ForeignKey(Team)
away = models.ForeignKey(Team)
home_players = models.ManyToManyField(Player)
away_players = models.ManyToManyField(Player)