【发布时间】:2012-06-29 19:32:48
【问题描述】:
我为标题道歉。
我需要使用to_char(或类似的东西)将日期时间字段转换为字符串,并在查询时对其应用ILIKE。
类似这样的:
SELECT ...
FROM mytable
WHERE
mytable.type = 'mytype'
AND (
mytable.name = 'myname'
OR
to_char(created_at, 'Mon DD, YYYY, MI:SS') ILIKE '%jun 27,%'
)
如您所见,问题在于查询的这一部分必须与某些过滤器进行 OR 并与其他过滤器进行 AND。
注意事项:
- 我不能使用
extra(select=...)将字段转换为字符串,然后使用filter(..)过滤它,因为 django 不支持它 - 我不能使用
extra(where=...),因为那样会OR 处理整个查询 - 我无法创建一个
ExtraWhere对象和 OR (|) 它与Q对象
【问题讨论】:
标签: django django-queryset django-orm