Python 更新ndb实体时出现BadValueError
我正在依靠ndb实现一个基于Google App Engine的web应用程序。当我试图更新数据库中的一个实体时,我遇到了一个奇怪的问题。当我尝试更新它的一个属性(即字符串属性)时,我得到 当我创建一个相同类型的新实体时,同样的代码也会起作用 我知道很快会有人要求我添加相关代码。复制我开发的javascript和python代码实际上是不合理的。我想知道这种行为是否在我可以检查的特定条件下发生 更新Python 更新ndb实体时出现BadValueError,python,google-app-engine,google-cloud-datastore,app-engine-ndb,Python,Google App Engine,Google Cloud Datastore,App Engine Ndb,我正在依靠ndb实现一个基于Google App Engine的web应用程序。当我试图更新数据库中的一个实体时,我遇到了一个奇怪的问题。当我尝试更新它的一个属性(即字符串属性)时,我得到 当我创建一个相同类型的新实体时,同样的代码也会起作用 我知道很快会有人要求我添加相关代码。复制我开发的javascript和python代码实际上是不合理的。我想知道这种行为是否在我可以检查的特定条件下发生 更新 假设我尝试更新属性时使用的值是一个post参数(即,self.request.get('para
假设我尝试更新属性时使用的值是一个post参数(即,
self.request.get('parameter')
)在我看来,您似乎试图将一个元组
分配给模型的ndb.StringProperty().这是我从request@lowcoupling--您可以检查以确保它不是以元组的形式出现吗?如果没有看到您的代码,我们只能猜测…我如何检查它?找到引发异常的行(在您的代码中)(而不是ndb),并在设置它之前记录该值…好的,我已经记录了它,并在Google App Engine的日志控制台中进行了检查。我看到了我期望的字符串。
"/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',)