python - 在 Django 中匹配包含标签的数组字段作为 Trigram 只接受文本而不接受列表
问题描述
基本上我需要将请求的产品标签列表与其他产品标签列表匹配,并准备查询集以反映为类似产品。
模型.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]
解决方案
推荐阅读
- python - 如何在另一个python中使用函数的变量
- arrays - 我在数组中查找最小元素的循环输出 0 而不是正确的值 x86 程序集?
- google-sheets - Google 表格:从具有不同列的选项卡中推断数据
- redirect - prestashop 1.7,如何在admintab上添加模块的配置链接?
- java - PrintStream 无法解析为类型。为什么?
- javascript - Google Maps API 获取地图比例控制值
- java - 替换字符串中的提及
- r - R 中的波浪号 (~.)
- python - Pywinauto - 双击的替代品
- api - Bluebeam Studio PDF 中的超链接(到外部 URL)