基本上我需要将请求的产品标签列表与其他产品标签列表匹配,并准备查询集以反映为类似产品。
模型.py
title = models.CharField(max_length=300)
tags = ArrayField(models.CharField(max_length=100), default=list,null=True,blank=True)
视图.py
product = Product.objects.all().filter(slug=slug)
similar_products = Product.objects.annotate(
similarity=TrigramSimilarity('title',product.title),).filter(similarity__gt=0.1).order_by('-similarity')
与标题字段匹配有效,但一旦我尝试使用“标签”和 product.tags 进行匹配,它就会引发错误
function similarity(character varying[], text[]) does not exist
示例标签列表看起来像 [motor,helmet,bluetooth,speakers]