尝试将列表保存到Google数据存储区时出错:
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'>
当我有这个错误时......我完全被卡住了......谢谢!
编辑:
以下是我定义和分配contactCountry的方法:
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)
EDIT2:
我能够让它工作 - contactCountry最初在我的数据存储区中作为db.StringProperty()并且已经填充了值。我想将contactCountry更改为列表,因此我将models.py文件更改为db.ListProperty(str),这是我开始看到错误的时候。我决定尝试使用
清除我的数据存储区$ dev_appserver.py --clear_datastore [myappname]
并重建它。在清除我的数据存储区并再次尝试之后,相同的确切代码再次出于某种原因工作。
答案 0 :(得分:0)
我能够让它工作 - contactCountry
最初在我的数据存储区中作为db.StringProperty()
并且已经填充了值。我想将contactCountry
更改为列表,因此我将models.py文件更改为db.ListProperty(str)
,这是我开始看到错误的时候。我决定尝试使用
$ dev_appserver.py --clear_datastore [myappname]
并重建它。清除数据存储区并再次尝试后,相同的确切代码再次出于某种原因工作。