通过应用变音符号的文本过滤 django 查询集



我正在尝试通过文本过滤python中的查询集

模型为:

models.Offer
id = pk           
description = text

我正在尝试像这样过滤它:

someText = self.shave_marks(someText)
offers = offers.filter(description__icontains=someText)

其中shave_marks替换特殊字符,例如:ç 将变为 c。

数据库中的文本(在描述字段中(也有特殊字符,我需要的是先"剃掉"描述文本,然后再进行过滤。

任何帮助,非常感谢!!

这个怎么样?

offers = [(x, x.description)) for x in offers.objects.all()]
required_offers = []
for key, value in offers:
if someText in shave_marks(value):
required_offers.append(key)

您可以做的是创建一个扩展Charfield的自定义字段。 get_prep_value该字段覆盖方法

。我找不到具体的例子,但理论上这应该可行。

class SpecialField(models.CharField):
def get_prep_value(self, value):
return shave_marks(shave_marks)

最新更新