无法将列表保存到数据库列表属性()在Google App Engin上

2024-07-02 12:55:50 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试将列表保存到google数据存储时出错:

raise BadValueError('Property %s must be a list' % self.name)
BadValueError: Property contactCountry must be a list

联系人国家/地区已创建为列表:

^{pr2}$

并随后附加:

contactCountry.append(xmlDoc.getElementsByTagName('country')[0].childNodes[0].nodeValue)

对于这个特定的例子,只有一个元素,但它仍然是一个列表。。。但是,当我试图保存它时,却遇到了这个错误。有什么想法吗?在

输出:

logging.info(contactCountry)
logging.info(type(contactCountry))

是:

INFO     2013-12-02 16:38:27,349 downloadAndUpdate.py:72] [u'United States']
INFO     2013-12-02 16:38:27,349 downloadAndUpdate.py:73] <type 'list'>

当我有那个错误。。。我完全被卡住了。。。谢谢!在

编辑:

以下是我如何定义和分配联系人国家/地区:

Database = models.Database() #construct Database object
Information =  Database.get_or_insert(Identifier)
Information.contactCountry = contactCountry

我的相关部分模型.py同一目录中的文件具有以下结构:

class Database(db.Model):
        contactCountry = db.ListProperty(str)

编辑2:

我能够让它正常工作——contactCountry最初是作为一个数据库StringProperty()并且已经填充了值。我想把contactCountry改成一个列表,所以我把我的模型.py归档到数据库列表属性(str),这是我开始看到错误的时候。我决定试着用

$ dev_appserver.py --clear_datastore [myappname]

重建它。在清除数据存储并重试之后,出于某种原因,相同的代码再次起作用。在


Tags: 数据py列表logging错误联系人propertybe
1条回答
网友
1楼 · 发布于 2024-07-02 12:55:50

我能够让它正常工作contactCountry最初是作为db.StringProperty()在我的数据存储中,并且已经填充了值。我想把contactCountry改成一个列表,所以我改变了模型.py文件到db.ListProperty(str),这是我开始看到错误的时候。我决定试着用

$ dev_appserver.py clear_datastore [myappname]

重建它。在清除数据存储并重试之后,出于某种原因,相同的代码再次起作用。在

相关问题 更多 >