我正在创建一个足球统计应用程序,并且在建立模型之间的关系时遇到了一些误解。我创建了两个模型。首先是具有以下领域的联赛
class League(models.Model):
league_id = models.IntegerField(primary_key=True)
country = models.CharField()
country_code = models.CharField()
和具有以下字段的第二个国家/地区模型。
class Country(models.Midel):
country = models.CharField()
country_code = models.CharField()
我需要在两个模型之间建立关系。根据我数据库的逻辑,一个联赛行只能包含一个国家。数据库中的国家/地区表未包含有关与之相关的联赛的任何信息。在“联赛”表中,每一行都包含与联赛相关的国家/地区的信息。我认为我应该使用一对多关系。我的想法对吗?
答案 0 :(得分:1)
联盟应该有代码字段,但没有国家。此外,该字段将是外键
这是一些伪代码。您将需要仔细检查语法,on_delete内容,char字段的最大长度等。
class League(models.Model):
league_id = models.IntegerField(primary_key=True)
country_code = models.ForeignKey(Country)
class Country(models.Model):
country_code = models.CharField(primary_key=True)
country = models.CharField()