我正在使用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对象。
答案 0 :(得分:3)
article.articlestats 等同于 ArticleStat.objects ,它为您提供了对管理者的参考。您需要编写完整的查询表达式,例如 article.articlestats.all()或 article.articlestats.filter(...)等。
要获得想要的东西,只需写:
article.articlestats.all().order_by('-elapsed_time_in_seconds')[0]
请注意,如果没有与提供的文章
相关的ArticleStat对象,则会引发IndexError