Python django orm中的Postgresql前缀

Python django orm中的Postgresql前缀,python,django,postgresql,django-orm,Python,Django,Postgresql,Django Orm,我怎样才能利用django内部的资源呢?有没有一种方法可以在django运行的查询中附加一个WHERE子句,而不使用原始SQL 也许是这样的 Model.objects.filter(field1=2, field2__in=[1,2,3]).where("prefix @> '0123456789'") 是的,这是可能的,这是QuerySet上的方法。像这样的事情应该可以做到: Model.objects.filter(...).extra(where=["prefix @>

我怎样才能利用django内部的资源呢?有没有一种方法可以在django运行的查询中附加一个
WHERE
子句,而不使用原始SQL

也许是这样的

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

是的,这是可能的,这是
QuerySet
上的方法。像这样的事情应该可以做到:

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

我担心的是,根据他们的文档,它很快就会被弃用。据我所知,目前还没有固定的弃用计划,因此它将用于多个版本,在他们删除它时,可能会有另一种方法。现在,我认为实现目标的唯一其他方法是使用原始sql查询(),但您必须自己编写整个查询。