【发布时间】:2017-07-29 12:24:57
【问题描述】:
我知道如何使用原始 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
django.core.exceptions.FieldError: 无法将关键字“alive”解析为字段。
我尝试将'alive' 设为@property 方法,但看起来它只需要一个用于搜索的数据库字段。
有没有办法在纯 Django ORM 中做到这一点,或者我应该走原始 SQL 路线?
【问题讨论】:
标签: django postgresql full-text-search