django-使用lambda进行OR查询

达米特

我想使用Django ORM执行OR查询。我提到了这个答案,它很适合我的需求。

我有一个整数列表,它是动态生成的。这些整数表示特定表中的用户ID。该表还具有日期字段。我想查询给定日期列表中所有用户ID的数据库。

例如:从下表中,我想要记录用户ID 2和3的日期为2015-02-28

id |    date
---------------
 1 | 2015-02-23
 1 | 2015-02-25
 1 | 2015-02-28
 2 | 2015-02-28
 2 | 2015-03-01
 3 | 2015-02-28

我无法弄清楚以下哪两个最适合我的用例:

Table.objects.filter(reduce(lambda x, y: (x | y) & Q(date=datetime.date(2015, 2, 28)), [Q(user_id=i) for i in ids])

或者

Table.objects.filter(reduce(lambda x, y: (x | y), [Q(user_id=i) for i in ids]) & Q(date=datetime.date(2015, 2, 28))

目前,以上两种方法都产生相似的输出。没有lambda,下面的查询将适合我的需要:

Table.objects.filter(Q(user_id=3) & Q(date=datetime.date(2015, 2, 28))| Q(user_id=2) & Q(date=datetime.date(2015, 2, 28)))
托多尔

我觉得你并不需要reduceQ这里的对象,你可以做:

Table.objects.filter(
    user_id__in=[2,3],
    date=datetime.date(2015, 2, 28),
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用F()在Django中进行模量查询

来自分类Dev

Django Raw查询:使用group BY子句进行Count查询

来自分类Dev

Django Raw查询:使用group BY子句进行Count查询

来自分类Dev

在Django的过滤器查询中使用lambda

来自分类Dev

是否可以使用django ORM对汇总查询进行GROUP BY?

来自分类Dev

使用django进行计数和Q / F查询

来自分类Dev

Django ManyToMany使用特定键进行反向查询

来自分类Dev

使用外键进行Django模型查询并登录用户

来自分类Dev

是否可以使用django ORM对汇总查询进行GROUP BY?

来自分类Dev

使用 PostgreSQL 进行 Django/Python 和原始 SQL 查询

来自分类Dev

使用Django查询优化

来自分类Dev

使用Q的Django查询

来自分类Dev

使用Django创建查询

来自分类Dev

使用列表的 Django 查询

来自分类Dev

使用if语句进行RDD查询的lambda

来自分类Dev

在 pymongo 中使用 lambda 函数进行查询?

来自分类Dev

如何进行django模型查询

来自分类Dev

Django-如何进行此查询

来自分类Dev

如何在Django中进行条件查询?

来自分类Dev

如何对合并的查询集进行排序Django

来自分类Dev

Django:从模板进行查询是否合适?

来自分类Dev

如何在Django中进行以下查询?

来自分类Dev

Django-如何使用左联接和合并进行复杂的查询?

来自分类Dev

使用查询数据库的默认字段函数进行迁移时出现Django错误

来自分类Dev

如何使用Django查询集按小时对对象进行分组?

来自分类Dev

Django-使用过滤器进行查询时传递结果列表

来自分类Dev

Django-如何使用左联接和合并进行复杂查询?

来自分类Dev

使用django和mongoengine进行正则表达式查询

来自分类Dev

使用多个字段对带有计数的Django查询集进行注释

Related 相关文章

热门标签

归档