我想让我的用户可以选择在用户名中加入非英文字符。
为了简单起见(并避免微妙的错误),我想将其用户名作为其实体的ndb密钥的id部分。我的问题是,这是一种安全的方法吗?
我无法找到有关GAE数据存储区是否支持非英文字符作为密钥的id部分的信息。
答案 0 :(得分:3)
直接来自马的嘴,源代码(key类):
- 种类和字符串ID不能为空,且最长不得超过500个字节(在UTF-8编码之后,如果以Python unicode对象形式给出)。
如果使用UTF-8,您应该能够使用您想要的任何语言。另外,从doc:
开始下一个组件是ID(int64)或键名(str)。
' STR'如页面顶部所定义,建议接受非ASCII字符。
P.S。使用用户名作为唯一ID有一些缺点;请参阅this discussion(忽略它的SQL方面。)