我想我已经失去了理智,为什么不做以下工作?
class Parent(db.Model):
childrenKeys = db.ListProperty(str,indexed=False,default=None)
p = Parent.get_or_insert(key_name='somekey')
p.childrenKeys = p.childrenKeys.append('newchildkey')
p.put()
我收到此错误:
BadValueError: Property childrenKeys is required
医生说:
默认是list属性的默认值。如果没有,那么 default是一个空列表。 list属性可以定义自定义 验证器禁止空列表。
所以我看到它的方式,我得到默认值(一个空列表)并为其添加一个新值并保存它。
答案 0 :(得分:8)
您应该删除p.childrenKeys
作业:
class Parent(db.Model):
childrenKeys = db.ListProperty(str,indexed=False,default=[])
p = Parent.get_or_insert('somekey')
p.childrenKeys.append('newchkey')
p.put()
答案 1 :(得分:5)
替换它:
p.childrenKeys = p.childrenKeys.append('newchildkey')
用这个:
p.childrenKeys.append('newchildkey')
append()
返回None
,无法将其分配给p.childrenKeys
。