如果我有一个简单的模型,例如:
class Book(models.Model):
title = models.TextField()
year = models.IntegerField()
我如何SearchVector
在 postgres 中使用以允许在标题和年份字段上进行搜索?例如,“Some Book 2018”将查询标题和年份字段。
如果我尝试这样做:
q = SearchQuery('Some') & SearchQuery('Book') & SearchQuery('2018')
vector = SearchVector('title') + SearchVector('year')
Book.objects.annotate(search=vector).filter(search=q)
然后我遇到了错误
DataError: invalid input syntax for integer: ""
LINE 1: ...|| to_tsvector(COALESCE("book_book"."year", '') || ' '...
无论如何我也可以搜索整数字段吗?