我想让Card
模型的查询集用一个新的字段available_on来注解,这个字段应该被计算为相对Booking
模型的字段removal_date
的未来最近的日期。它应该只考虑未来的日期,我如何过滤掉过去的removal_date日期呢?我现在得到的是这样的。
def with_available_on(self):
qs = self.annotate(available_on=Case(
When(
bookings_count__gt=0,
slots_available__lt=1,
then=Min('bookings__removal_date')),
default=None
)
)
return qs
我也希望它是在数据库端计算,如果可能的性能目的。谢谢
1条答案
按热度按时间daolsyd01#
您可以使用**
filter=…
参数[Django-doc]来过滤您在Min
**聚合[Django-doc]中跨越聚合的对象: