建立两个模型之间的关系

时间:2019-08-28 15:16:06

标签: django django-models

我正在创建一个足球统计应用程序,并且在建立模型之间的关系时遇到了一些误解。我创建了两个模型。首先是具有以下领域的联赛

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()

我需要在两个模型之间建立关系。根据我数据库的逻辑,一个联赛行只能包含一个国家。数据库中的国家/地区表未包含有关与之相关的联赛的任何信息。在“联赛”表中,每一行都包含与联赛相关的国家/地区的信息。我认为我应该使用一对多关系。我的想法对吗?

1 个答案:

答案 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()