我正在尝试阻止一些数据,我使用一些lower
和replace
来更改我需要的特殊字符:
我的查询是这样的:
return Person.query.get(person_id).name.filter(func.lower(func.replace(Person.name, "ç", "c"))
效果很好,但是如果我再次使用其他角色,如á
或其他特殊角色,它就不会起作用。
有人可以告诉我处理这个问题的最佳方法,列出所有特殊字符,或者sqlalchemy有一个func to slug?
答案 0 :(得分:3)
你不会使用较低的并替换为slugify。 试试像这样的库:un33k / python-slugify(github)。 为了获得所需的结果,您可以编写如下内容:
from slugify import slugify
return Person.query.get(person_id).name.filter(slugify(Person.name))
我不确定您的查询是否有效,我只更换了slug部分,我建议您先检查它。