使用foreignkey的foreignkey建立django模型

时间:2018-09-08 20:25:33

标签: python django

所以我在做一个学习django的小项目,我对设置db感到很困惑。

我有3个视频类别: 切尔西,巴塞罗那和皇家马德里。

在3个视频中,有几个季节: 切尔西-season1 season2 ..... season n 巴塞罗那和皇家马德里同样如此

在这个季节里,有视频

这是我到目前为止设置的方法,但很困惑

class Team(models.Model):
    name = models.CharField(max_length=255)


class Season(models.Model):
    name = models.CharField(max_length=255)
    team = models.ForeignKey(Team)
class Content(models.Model):
    name = models.CharField(max_length=255)
    season = models.ForeignKey(Season)

因此,foreignkey外键的内容。这是有效的方法吗?如何从内容中获取团队名称?

2 个答案:

答案 0 :(得分:0)

您必须以任何方式检索内容对象,例如像这样:

content = Content.objects.get(id=0)

然后您可以通过以下方式引用小组名称:

cotent_name = content.season.team.name

此外,如果您想按小组名称过滤内容,则可以执行以下操作:

barca_contents = Content.objects.filter(season__team__name="Barcelona")

这将返回带有巴塞罗那团队所有内容的QuerySet。

答案 1 :(得分:0)

遵循一个关系(双向)以获取所需的数据完全可以。 那实际上就是关系数据库的基本思想。

您可能需要利用QuerySets的select_related()方法来获取与初始查询相关的模型,因为无论如何都需要获取它。