【问题标题】:BadValueError when updating ndb entity更新 ndb 实体时出现 BadValueError
【发布时间】:2015-03-26 15:56:01
【问题描述】:

我正在实现一个基于 Google App Engine 的网络应用程序,依赖于 ndb。尝试更新数据库中的众多实体之一时,我遇到了一个奇怪的问题。当我尝试更新其属性之一(即字符串属性)时,我得到 ​​p>

"/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/ndb/model.py", line 1715, in _validate (value,)) BadValueError: Expected string, got (u'a test',)

当我创建一个相同类型的新实体时,相同的代码会起作用。

我知道很快就会有人要求我添加相关代码。复制我开发的javascript和python代码实际上是不合理的。我很想知道这种行为是否已知会在我可以检查的某些条件下发生。

更新

考虑到我试图更新属性的值是一个后参数(即self.request.get('parameter')

【问题讨论】:

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


    【解决方案1】:

    在我看来,您正在尝试将 tuple 分配给模型的 ndb.StringProperty()。

    【讨论】:

    • 这是我从请求中获得的后置参数
    • @lowcoupling -- 您能否检查以确保它不是以 tuple 的形式出现的?没有看到你的代码,我们只能猜测......
    • 如何检查?
    • 找到引发异常的行(在您的代码中)(不是 ndb)并在设置之前记录该值...
    • 好的,我已经记录了它并在 Google App Engine 的日志控制台中进行了检查。我看到了我期望的字符串。
    猜你喜欢
    • 2023-03-09
    • 2011-12-19
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多