我在尝试将列表保存到谷歌数据存储时出错:
raise BadValueError('Property %s must be a list' % self.name)
BadValueError: Property contactCountry must be a list
contactCountry已创建为列表:
contactCountry = list()
后附:
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
同一目录中的models.py文件的相关部分具有以下结构:
class Database(db.Model):
contactCountry = db.ListProperty(str)
第2版:
我能够让它工作起来——contactCountry最初是作为数据库在我的数据存储中的。StringProperty(),并且已经填充了值。我想将contactCountry更改为列表,所以我将models.py文件更改为db。ListProperty(str),这是我开始看到错误的时候。我决定尝试使用清除数据存储
$ dev_appserver.py --clear_datastore [myappname]
并重新构建它。在清除我的数据存储并重试后,出于某种原因,同样的代码再次工作。
我能够让它工作起来——contactCountry
最初作为db.StringProperty()
在我的数据存储中,并且已经填充了值。我想将contactCountry
更改为列表,所以我将models.py文件更改为db.ListProperty(str)
,这就是我开始看到错误的时候。我决定尝试使用清除数据存储
$dev_appserver.py--clear_datastore[myappname]
并重新构建它。在清除我的数据存储并重试后,出于某种原因,同样的代码再次工作。