Dax*_*Dax 4 django postgresql full-text-search
我知道如何使用原始PostgreSQL命令执行此操作,但想知道是否有办法使用Django PostgreSQL搜索执行此操作.
class Person(models.Model):
name = models.CharField(max_length=64)
description = models.CharField(max_length=256)
active = models.BooleanField(default=False)
search_vector = SearchVectorField(blank=True)
def update_search(person):
vector = SearchVector('name') + SearchVector('description')
if person.active:
vector = vector + SearchVector('alive')
person.search_vector = vector
Run Code Online (Sandbox Code Playgroud)
django.core.exceptions.FieldError:无法将关键字"alive"解析为字段.
我尝试将'alive'变为@property方法,但看起来它只需要一个db字段进行搜索.
有没有办法在纯Django ORM中执行此操作,还是应该使用原始SQL路由?
您可以使用Value()表达式在SearchVector中添加字符串,如下例所示:
from django.db.models import Value
...
vector = vector + SearchVector(Value('alive'))
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
279 次 |
| 最近记录: |