我试图在一个查询集上执行一个稍微高级一点的查询,就像这里概述的那样。https:/docs.djangoproject.comen3.0topicsdbsearch。
我的查询集如下。
queryset = queryset.filter(
Q(user__username__unaccent__lower__trigram_similar=search) |
Q(user__first_name__unaccent__lower__trigram_similar=search) |
Q(user__last_name__unaccent__lower__trigram_similar=search)
)
我加入了... django.contrib.postgres
中的INSTALLED_APPS中的应用。settings.py
.
但是,我收到以下错误。
django.core.exceptions.FieldError: Unsupported lookup 'lower' for CharField or join on the field not permitted.
有谁知道搜索搜索的正确程序吗?
我使用的是Django >3和postgres引擎11版。
啊......所以我似乎没有安装这个特定的查询。
过程如下。
from django.db.models import CharField
from django.db.models.functions import Lower
CharField.register_lookup(Lower)