首页 > 解决方案 > 从数据库查询时如何使用 2 个过滤器,并显示来自两个过滤器 id Django 的项目

问题描述

这是我的代码:

video_object = video.objects.filter(category=category) \
    .filter(show_after_time__lt=datetime.datetime.now()) \
    .order_by("-show_after_time")

我想将过滤器设为“类别”或其他变量,例如“其他类别”,但它会给我提供具有“类别”或“其他类别”的项目。我怎么做?

标签: djangodjango-models

解决方案


You can make use of the __in lookup [Django-doc]:

video_object = video.objects.filter(
    category__in=[category, other_category],
    show_after_time__lt=datetime.datetime.now()
).order_by('-show_after_time')

推荐阅读