python - Django 查询链接多个过滤器

标签 python django django-orm

这是我的日程对象,

class Schedule(Base):
    tournament = models.ForeignKey(Tournament, on_delete=models.CASCADE, null=True)
    first_team = models.ForeignKey(Team, related_name="first_team", on_delete=models.CASCADE, null=True)
    second_team = models.ForeignKey(Team, related_name="second_team", on_delete=models.CASCADE, null=True)
    first_score = models.IntegerField(default=0, null=True)
    second_score = models.IntegerField(default=0, null=True)
    sport = models.ForeignKey(Sport, on_delete=models.CASCADE, null=True)
    date = models.DateTimeField()

I want to fetch the schedules for a specific sport, for the past 30 days for tournaments which have anything other than a 0.0 bias.

这是我的查询

schedules = Schedule.objects.filter(sport=sport).filter(date__gte=date.today()).filter(
                        date__lte=(date.today() + timedelta(days=30))).order_by("date").exclude(tournament__bias=0.0)

这行不通,有人可以帮我吗?谢谢。

最佳答案

您的代码是正确的过滤方式(尽管您可以通过逗号分隔查找合并两个 filter() 方法)。

问题可能是您现在正在过滤:

today() <= date <= today() + 30 days 

因此,如果您没有任何实例的日期在未来 30 天(或今天)内,您将得到一个空集。

关于python - Django 查询链接多个过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676486/

相关文章:

python - 读取 JSON 文件添加文件名列而不使用append()

python - Django:你能在管理站点上传一个目录或多个文件吗

python - 子类化时出现奇怪的问题?

python - 如何将属性添加到 Django 表单小部件的媒体字段?

django - 与自定义管理器相关的对象引用

python - Django ORM - .update(…) 带有 extra(…) 和 F(…)

python - Django:如何访问中间件类中的 URL 正则表达式参数?

python - 使用标准库在运行时创建 ND 数组

database - 如何在 Django 中传递 `in` SQL 子句的值列表

python - 在 LinearSVC 的 scikit 中计算每个样本 x 的概率估计 P(y|x)