【问题标题】:How to filter by date part in tortoise ORM如何在乌龟ORM中按日期部分过滤
【发布时间】:2021-04-12 16:25:26
【问题描述】:

我刚开始使用乌龟 ORM。并且想知道是否可以按其部分过滤日期时间字段。例如,仅过滤掉日期时间列对应于给定月份的行。类似于在 Django ORM 中完成的 .filter(datetime_field__month=6)

【问题讨论】:

标签: tortoise-orm


【解决方案1】:

我已在我的问题中发布回复:How to use db functions in Tortoise ORM

对于您的问题,我想您可以使用pypika.CustomFunction,这是一个链接:https://tortoise-orm.readthedocs.io/en/latest/functions.html#custom-functions

不幸的是,这只是我可以帮助的,使用pypika.functions.Extract 也没有帮助我。我的假设是做EXTRACT (MONTH FROM "created_at"),但 Tortoise ORM 不允许我将此字段放入 filter 查询中。

【讨论】:

    【解决方案2】:

    当您使用 Tortoise ORM 并指定字段为 DatetimeField 时,您可以使用 datetime_field__month 访问其部分,例如月份。

    这仅适用于 PostgreSQL 和 MySQL,不适用于 SQLite。

    您可以在此处找到可以访问的不同部分:https://tortoise-orm.readthedocs.io/en/latest/query.html#filtering

    【讨论】:

      猜你喜欢
      • 2021-04-07
      • 1970-01-01
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多