【发布时间】:2019-05-26 07:27:40
【问题描述】:
有一个模型Location 可以有许多Ticket 对象(使用ForeignKey)。
Ticket 模型具有 price 字段,即 DecimalField。
现在我已经过滤了 Ticket 对象的查询集,我想获取 Location 对象的查询集并注释 min_price 值,这是过滤查询集中所有 Ticket 对象的最低价格。
例如:
tickets = Ticket.objects.filter(something)
locations = Location.objects.all().annotate(min_price=<minimal price from tickets having this location>)
我尝试了什么:
locations_annotated = Location.objects.all().annotate(
min_price=Min('tickets__min_price', filter=tickets))
这不起作用。当我尝试从locations_annotated 获取第一个元素时,调试器返回:
TypeError: can only concatenate list (not "tuple") to list
你知道该怎么做吗?
【问题讨论】:
标签: python sql django postgresql django-orm