【发布时间】:2012-03-12 04:46:52
【问题描述】:
有没有办法在 django 查询集过滤器中使用模糊匹配?
我正在寻找类似的东西:
Object.objects.filter(fuzzymatch(namevariable)__gt=.9)
或者有没有办法在 django 查询中使用 lambda 函数或类似的东西,如果有,它会影响性能时间多少(假设我的数据库中有一组稳定的 ~6000 个对象,我想要匹配)
(意识到我可能应该把我的 cmets 放在问题中)
我需要比包含更强大的东西,类似于 difflib 的东西。我基本上是在尝试做一个Object.objects.all(),然后是一个带有模糊匹配的列表理解。
(虽然我不一定确定这样做会比尝试基于函数进行过滤要慢得多,所以如果您对此有想法,我很乐意倾听)
此外,即使这不是我想要的,我也愿意接受某种标记化的相反包含,例如:
Object.objects.filter(['Virginia', 'Tech']__in=Object.name)
将返回“Virginia Technical Institute”之类的内容。虽然不区分大小写,但最好。
【问题讨论】:
标签: django django-models django-queryset