Skip to main content
 首页 » 编程设计

python之具有容差的 Django DISTINCT 匹配模式

2024年11月01日19insus

看到这个旧Question

我想知道是否有任何可用的新功能(最好是 native Django)可以在我的 Item 模型中找到具有一定容差的 DISTINCT 条目。

一个简单的例子;我有这 5 个项目名称:

  • Item1 亚麻衬衫
  • 项目 2 亚麻衬衫
  • 项目 B 亚麻衬衫 1
  • 项目亚麻裙
  • ItemC 亚麻裙2

我会做类似的事情:

item_set = Item.objects.distinct_special(name, tolerance = 95) 

.. 其中第一个值是要搜索的字段,第二个值是公差百分比。

请您参考如下方法:

您可以使用 difflib 在纯 Python 中完成。

values = """Item1 Linen Shirt 
Item2 Linen Shirt 
ItemB Linen Shirt1 
Item Linen Skirt 
ItemC Linen Skirt2""" 
 
data = values.split('\n') 
 
print(difflib.get_close_matches(data[0], data)) 

查看 get_close_matches 的文档用于其他参数,例如公差。