首页 > 解决方案 > django模型设置,使用foreignkey的foreignkey

问题描述

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

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

在这 3 个视频下有季节:切尔西 - 第 1 季第 2 季 ..... 巴塞罗那和皇家马德里的第 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)

所以外键的外键内容。这是有效的方式吗?如何从内容中获取团队名称?

标签: pythondjango

解决方案


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

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

然后您可以通过以下方式引用团队名称:

cotent_name = content.season.team.name

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

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

这将返回一个包含巴塞罗那队所有内容的查询集。


推荐阅读