【发布时间】:2019-04-02 17:23:51
【问题描述】:
我正在使用 Python 3.7 和 Django。我有以下两种型号...
class Article(models.Model):
title = models.TextField(default='', null=False)
class ArticleStat(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, related_name='articlestats')
elapsed_time_in_seconds = models.IntegerField(default=0, null=False)
...
class Meta:
unique_together = ('article', "elapsed_time_in_seconds",)
请注意,一篇文章有多个 ArticleStat 对象。如果我的代码中某处有一个“文章”对象,我如何以最大的 elapsed_time_in_seconds 引用它的 ArticleStat 对象?甚至在做
article.articlestats
导致错误,所以我什至不知道如何从我的初始对象中引用相关的 ArticleStat 对象。
【问题讨论】:
-
你能发布确切的错误吗?
-
article.articlestats是RelatedManager,而不是查询集。对于相关管理器上的普通模型,您可以调用与objects上几乎相同的方法。例如。all()、filter()、count()、exists()、first()等...:article.articlestats.all()为您提供包含所有相关对象的查询集,article.articlestats.first()只是第一个对象(如果没有,则为 None一个)。
标签: python django python-3.x foreign-keys one-to-many