Django:如何查询带有标点符号的术语(即:!)!。;')不敏感?

2024-03-29 10:24:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个应用程序,需要找到我存储在数据库中的facebook用户名,但是facebook用户名不区分大小写,对句点不敏感。例如,用户名Johnsmith.55与johnsmith55甚至j…O相同。史密斯先生.5.5. 发送facebook API请求时。 显然,我正在使用iexact query命令来纠正大小写不敏感的问题,但是我可以使用什么来纠正对句点不敏感的问题呢?我知道一个逃避的方法是简单地将所有用户名保存到数据库中,去掉句点,也去掉正在搜索的用户名的句点,然后进行查询,但是我想保存和显示人们的用户名,就像他们在facebook URL(包括句点)中真实出现的方式,即使facebookAPI请求在技术上对句点不敏感。你知道吗

有什么简单的方法吗?提前谢谢你的帮助


Tags: 方法命令api数据库应用程序urlfacebook方式
3条回答

您可以在数据库中存储两个用户名,一个用于查询,另一个用于显示。你知道吗

但是,如果您不想这样做,只需在查询之前从Facebook忽略的字符中清除字符串:

# ... import 're' and pull username from DB
normalized_username = re.sub('[,.]', '', real_username)
# query using the normalized username

注意:这个例子忽略了点和逗号,Facebook可能会忽略更多。你知道吗

在django1.7或更高版本中,您还可以通过自定义查找实现自己的查询loguc。你知道吗

您需要存储用户名的两个版本:一个用于查询,另一个用于显示。你知道吗

相关问题 更多 >