Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 更新ndb实体时出现BadValueError_Python_Google App Engine_Google Cloud Datastore_App Engine Ndb - Fatal编程技术网

Python 更新ndb实体时出现BadValueError

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

我正在依靠ndb实现一个基于Google App Engine的web应用程序。当我试图更新数据库中的一个实体时,我遇到了一个奇怪的问题。当我尝试更新它的一个属性(即字符串属性)时,我得到

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

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

更新


假设我尝试更新属性时使用的值是一个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',)