Я использую Django и Python 3.7. У меня есть следующие две модели в моем файле models.py ...
class Article(models.Model):
created_on = models.DateTimeField(default=datetime.now)
...
class ArticleStat(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, )
elapsed_time_in_seconds = models.IntegerField(default=0, null=False)
Я хотел бы написать запрос Django ORM, в котором я выбираю статьи, которые имеют статистику не менее 5 минут (300 секунд). Однако я не знаю, как ссылаться на объект ArticleStat из объекта Article. Неудивительно, что это
Article.objects.filter(articlestat.elapsed_time_in_seconds.lte==300)
производит
NameError: name 'articlestat' is not defined
ошибка.
Редактировать: В ответ я изменил свою модель ArticleStat на
class ArticleStat(models.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, related_name='articlestats')
и затем я запустил приведенный ниже запрос, получив сообщение об ошибке
Article.objects.filter(articlestat_set__elapsed_time_in_seconds__lte==300)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'articlestat_set__elapsed_time_in_seconds__lte' is not defined
Думал, что, возможно, был экземпляр с множественным числом, поэтому я попробовал "s", но получил ошибку ..
Article.objects.filter(articlestats_set__elapsed_time_in_seconds__lte==300)
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'articlestats_set__elapsed_time_in_seconds__lte' is not defined