【问题标题】:How To Use NDB Query Without Knowing Class Name如何在不知道类名的情况下使用 NDB 查询
【发布时间】:2015-11-29 18:03:58
【问题描述】:

我正在 Google App Engine 上编写一个 Python 应用程序,我需要一个 ndb 查询,但问题是查询可以是不同的类类型,所以我正在寻找 clss.Query() 以外的方法。我需要clss 作为变量。我也可以使用过滤器吗?

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore app-engine-ndb


    【解决方案1】:

    事实上,documentation 中提到了一种方法:

    from google.appengine.ext import ndb
    ndb.Query(kind=clss)
    

    您也可以使用过滤器,方法是在查询中将过滤器作为参数传递:

    ndb.Query(kind=clss, filters=...)
    

    或者像你通常做的那样在查询上应用filter()

    ndb.Query(kind=clss).filter()
    

    【讨论】:

    • 非常好,除了,如果clss 是一个 variable 作为 OP 假设,你绝对必须丢失你正在使用的引号 - kind=clss 是正确的, not kind="clss" 其中引号会使 RHS 变成 constant 文字字符串!请在您原本出色的答案中解决这个大问题(在三个地方)...
    • @Alex Martelli 感谢您的评论,但我认为提问的人会理解这一点。我会尽量说清楚。
    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2016-05-18
    • 2013-05-21
    • 1970-01-01
    相关资源
    最近更新 更多