【发布时间】:2019-09-22 12:42:30
【问题描述】:
我正在使用 Django 和 Python 3.7。我想写一个 Coalesce 表达式来帮助我写一个更大的 Django 查询。我有
Coalesce(
F("votes")
-
Subquery(relevant_hour_stats.values('votes_threshold')[:1]),
output_field=models.FloatField())
这是上下文中的表达式...
qset = (
ArticleStat.objects
.all()
.annotate(
shifted_article_create_hour=ExtractHour(ExpressionWrapper(
F('article__created_on')
+
timedelta(seconds=avg_fp_time_in_seconds),
output_field=models.DateTimeField()
))
)
.annotate(
votes_above_threshold=(
Coalesce(
F("votes")
-
Subquery(relevant_hour_stats.values('votes_threshold')[:1]),
output_field=models.FloatField())
),
)
.filter(
votes_above_threshold__gt=0,
)
)
但这会导致
Coalesce must take at least two expressions
抱怨这条线
output_field=models.FloatField()
据我所知,我有两种表达方式。该错误还指的是什么?
【问题讨论】:
-
这两种表达方式是什么?
标签: django python-3.x model coalesce