创建Django QuerySet对象后修改它

2024-06-16 11:29:12 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我进行以下查询:

showtimes = ShowTime.objects.filter(
    start_date__lte=start,
    end_date__gte=end,
    movie__slug=movie.slug,
    city=city,
    visible=1)

现在我想要一个接受queryset object的函数,并根据其他一些属性进一步过滤结果,如下所示:

^{pr2}$

这样的方法对修改对象有效吗?或者有其他方法吗?在


Tags: 方法citydateobjectsmoviefilterstartend
1条回答
网友
1楼 · 发布于 2024-06-16 11:29:12

查询集是lazy and chainable

您可以根据需要过滤showtimes多次。我不相信您的语法是正确的,但是您可以使用标准的filter来保存filter a queryset

def is_subtitled_3d(showtimes):
  return showtimes.filter(
    language=LANGUAGE_SUBTITLED,        
    type_vip__isnull=True,
    type_3d=1,
    type_gtmax__isnull=True,
    type_xd__isnull=True
  )

如果用户想过滤3d电影,说明如何组合过滤器,比如:

^{pr2}$

相关问题 更多 >