【问题标题】:Postgresql Prefix in django ormdjango orm 中的 Postgresql 前缀
【发布时间】:2015-10-08 17:44:00
【问题描述】:

我该如何在 django 中使用Postgres Prefix Plugin?有没有办法在 django 运行的查询中附加一个额外的 WHERE 子句而不进入原始 SQL?

也许是这样的?

Model.objects.filter(field1=2, field2__in=[1,2,3]).where("prefix @> '0123456789'")

【问题讨论】:

    标签: python django postgresql django-orm


    【解决方案1】:

    是的,这是可能的,这是QuerySet 上的extra 方法。像这样的东西应该可以解决问题:

     Model.objects.filter(...).extra(where=["prefix @> '0123456789'"])
    

    【讨论】:

    • 我担心根据他们的文档,它很快就会被弃用。
    • 据我所知,目前还没有固定的弃用计划,因此它会在多个版本中存在,并且在他们删除它时,可能会有另一种方法来做到这一点。目前,我认为实现目标的唯一其他方法是使用原始 sql 查询 (docs.djangoproject.com/en/1.8/topics/db/sql/…),但您必须自己编写整个查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 2011-03-11
    • 2017-05-03
    • 2020-10-21
    • 1970-01-01
    相关资源
    最近更新 更多