1
我想执行我会直觉地写了一个查询:做一个NDB IN查询与阵列
Project.query(Project.project_id IN ("abc","def")).fetch()
我已经了解到,在NDB,你这样做,而不是:
Project.query(ndb.OR(Project.project_id == "abc", Project.project_id == "def")).fetch()
我一般都很好,即使阅读起来有点困难。尽管(对于像我这样的新手),我不明白为什么解释者不能为你做出辛苦的工作,并且接受/解析一个IN到OR的巢中......但这是一个单独的问题。
问题是,我的可接受的project_id值列表 - 在本例中为“abc”,“def” - 是动态的。通过IN,我可以将我的头包裹在IN列表中。有了这些多个OR,我想我可以迭代我的列表并写出链式语句 - 但这将是一个字符串,所以我怀疑ndb不会将其解析为有效查询,并且感觉超级不雅。
这是什么规范的方法?
Got it!我认为这些文档是说你必须以第二种风格来编写它。如果第一种(更传统的)风格起作用(而且确实如此),我更喜欢这一点。 –