通过应用变音符号的文本过滤 Django 查询集
Filtering django queryset by text applying the diacritics
我正在尝试通过文本
过滤python中的查询集
型号是:
models.Offer
id = pk
description = text
我正在尝试像这样过滤它:
someText = self.shave_marks(someText)
offers = offers.filter(description__icontains=someText)
其中 shave_marks 正在替换特殊字符,例如:ç 将变为 c。
数据库中的文本(描述字段)也有特殊字符,我需要的是先"shave"描述文本再过滤
任何帮助,非常感谢!!!
您可以做的是,创建一个扩展 charfield 的自定义字段。具有该字段覆盖方法 get_prep_value
我找不到具体的例子,但理论上这应该可行。
class SpecialField(models.CharField):
def get_prep_value(self, value):
return shave_marks(shave_marks)
这个怎么样?
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)
我正在尝试通过文本
过滤python中的查询集型号是:
models.Offer
id = pk
description = text
我正在尝试像这样过滤它:
someText = self.shave_marks(someText)
offers = offers.filter(description__icontains=someText)
其中 shave_marks 正在替换特殊字符,例如:ç 将变为 c。
数据库中的文本(描述字段)也有特殊字符,我需要的是先"shave"描述文本再过滤
任何帮助,非常感谢!!!
您可以做的是,创建一个扩展 charfield 的自定义字段。具有该字段覆盖方法 get_prep_value
我找不到具体的例子,但理论上这应该可行。
class SpecialField(models.CharField):
def get_prep_value(self, value):
return shave_marks(shave_marks)
这个怎么样?
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)