我正在尝试通过文本过滤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)