我知道如何用原始的PostgreSQL命令來做到這一點,但想知道是否有辦法用Django PostgreSQL進行搜索。是否可以將您自己的字符串添加到Django SearchVectorField中?
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: Cannot resolve keyword 'alive' into field.
我試圖使「活」一個@property的方法,但它看起來像它只是想搜索一個數據庫字段。
是否有一種方法可以在純Django ORM中執行此操作,還是應該轉到原始SQL路由?
Ooooh。很好的發現。會試試這個。 – Dax