关于django.models中的多重关系?这里没有
这是我的模特关于django.models中的多重关系?这里没有,django,django-models,Django,Django Models,这是我的模特 from django.db import models # Create your models here. class Leagues(models.Model): LeagueName = models.CharField(max_length=200) class Team(models.Model): TeamName = models.CharField(max_length=200) class LeagueTable(models.Model
from django.db import models
# Create your models here.
class Leagues(models.Model):
LeagueName = models.CharField(max_length=200)
class Team(models.Model):
TeamName = models.CharField(max_length=200)
class LeagueTable(models.Model):
league = models.ForeignKey(Leagues)
team = models.CharField(max_length=200)
matches_played = models.IntegerField()
matches_won = models.IntegerField()
matches_drawn = models.IntegerField()
matches_lost = models.IntegerField()
points = models.IntegerField()
class FixtureTable(models.Model):
league = models.ForeignKey(Leagues)
fixture_date = models.DateField('Fixture Date')
team_one = models.CharField(max_length=200)
team_one_score = models.IntegerField()
team_two = models.CharField(max_length=200)
team_two_score = models.IntegerField()
在“类固定表”中,我希望团队1和团队2链接到“类团队”模型中的两个不同团队。如何创建多个关系,或者是可能的
PS:这纯粹是一个noob,有一点编程经验,但没有python或数据库方面的经验
谢谢。您可以为同一型号创建任意数量的外键。我怀疑是Django给了您一个错误,告诉您需要指定一个相关的名称,这让您很困惑 默认情况下,Django在表单
\u set
的相反模型上创建一个属性。因此,在以下场景中:
class FixtureTable(models.Model):
team_one = models.ForeignKey(Team)
Django将向团队
添加一名相关经理作为fixturetable\u集
。如果你当时这样做了:
class FixtureTable(models.Model):
team_one = models.ForeignKey(Team)
team_two = models.ForeignKey(Team)
Django会尝试添加相同的属性两次,但显然失败了。修复方法是指定一个相关的\u名称
,这样每个名称都可以有一个唯一的相关管理器:
class FixtureTable(models.Model):
team_one = models.ForeignKey(Team, related_name='team_one_fixturetables')
team_two = models.ForeignKey(Team, related_name='team_two_fixturetables')
然后,一切都会好起来的。您可以为
related\u name
指定任何您喜欢的内容,只要它对于模型是唯一的。还有一件事,尽管我正在学习教程,但我发现,最好的学习方法是,创建您自己的问题,并在解决您自己的问题时遵循教程。再次谢谢你,亲爱的。。。这帮我解决了问题。。谢谢@Chris Pratt