python - 如何在 Google App Engine 中检查 UserProperty 的空值

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

在 Google App Engine 中,数据存储建模,我想问一下如何检查 UserProperty 类属性的空值? 例如: 我有这段代码:

class Entry(db.Model):
  title = db.StringProperty()
  description = db.StringProperty()
  author = db.UserProperty()
  editor = db.UserProperty()
  creationdate = db.DateTimeProperty()

当我想检查那些编辑器不为空的条目时,我不能使用这种GqlQuery

query = db.GqlQuery("SELECT * FROM Entry " +
                    "WHERE editor IS NOT NULL" +
                                    "ORDER BY creationdate DESC")
    entries = query.fetch(5)

我想知道是否有任何方法可以使用 UserProperty 检查变量是否存在? 谢谢!

最佳答案

query = db.GqlQuery("SELECT * FROM Entry WHERE editor > :1",None)

但是,您不能 ORDER BY 一列 在另一列上有不平等条件:这是众所周知的 GAE 限制,与property 是 UserProperty 也不与不平等检查你正在做的是 None。

编辑:我之前有一个 !=,但正如@Nick 所指出的,任何 != None 都是 > None,并且 > 在 GAE 上大约快两倍(因为 != 是合成的通过联合 < 和 >),所以在这里使用 > 是一个有值(value)的优化。

关于python - 如何在 Google App Engine 中检查 UserProperty 的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252196/

相关文章:

python - 使用离散变量的二维离散彩色图

python - 检查 db 是否包含运行 Python 的 Google App Engine 上的 1000 个 ID 中的一个或多个

java - 从 Java 中的谷歌计算引擎与数据存储和云存储通信

python - 日期时间属性和亲子关系的 NDB 索引

python - 警告 :tensorflow:The default stddev value of initializer will change from "1/sqrt(vocab_size)" to "1/sqrt(dimension)" after 2017/02/25

python - 如何在 Python 中使用 factorize() 后获取原始值?

google-app-engine - App Engine 端点 API - 带有自定义域的 404

python - BadKeyError : Invalid string key

python - RabbitMQ 破损管道错误或丢失消息

google-app-engine - 如何过滤 GAE 查询?