【问题标题】:In Google App Engine's Python DataStore model, is the result of get_by_key_name(<list_input>) in the same order as the input?在 Google App Engine 的 Python DataStore 模型中,get_by_key_name(<list_input>) 的结果是否与输入的顺序相同?
【发布时间】:2017-08-03 20:46:42
【问题描述】:
以下代码通过键名批量获取实体列表:
key_names = [a, b, c, d, e]
result = models.SomeModel.get_by_key_name(key_names)
问题是:
我们是否可以安全地假设返回列表中实体的顺序始终与输入列表中键的顺序 (key_names) 相同?
【问题讨论】:
标签:
google-app-engine
app-engine-ndb
google-app-engine-python
【解决方案1】:
来自Class Methods(强调我的):
Model.get_by_key_name (key_names, parent=None)
...
如果key_names 包含单个键名,则此方法返回
如果名称存在于
数据存储,否则 None。如果key_names 是一个列表,则返回
value 是模型实例的相应列表,带有None
给定键名不存在实体的值。
我认为这是一种确认,我确实在我的代码中做出了这个假设至少到目前为止我没有遇到任何错误或其他提示/指示该假设在某种程度上是不正确的。