【发布时间】:2022-01-21 17:55:57
【问题描述】:
我的模型定义如下(实际产品中使用的模型的简化模型。还有其他领域的轿跑车:
from django.db import models
from taggit.managers import TaggableManager
from django.contrib.postgres.search import SearchVectorField
from django.contrib.postgres.indexes import GinIndex
class Product(models.Model):
tags = TaggableManager()
search_vector = SearchVectorField(null=True)
class Meta:
indexes = [
GinIndex(fields=['search_vector'])
]
我运行 make migrations 和 migrate 命令。这些工作正常。
然后我运行以下命令集来构建索引:
search_vector = SearchVector('tags__name')
Product.objects.all().update(search_vector=search_vector)
我最终得到以下错误:
django.core.exceptions.FieldError: Joined field references are not permitted in this query
这显然是由tags__name 字段引起的,但我不知道如何解决。
有人可以解释一下我需要做什么才能正确运行上述命令吗?
谢谢!
【问题讨论】:
标签: python django postgresql django-taggit