ofk*_*fko 5 python google-app-engine google-cloud-datastore
我想我已经失去了理智,为什么不做以下工作呢?
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()
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
BadValueError: Property childrenKeys is required
Run Code Online (Sandbox Code Playgroud)
医生说:
default是list属性的默认值.如果为None,则默认为空列表.list属性可以定义自定义验证器以禁止空列表.
所以我看到它的方式,我得到默认值(一个空列表)并为其添加一个新值并保存它.
你应该删除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()
Run Code Online (Sandbox Code Playgroud)
替换这个:
p.childrenKeys = p.childrenKeys.append('newchildkey')
Run Code Online (Sandbox Code Playgroud)
有了这个:
p.childrenKeys.append('newchildkey')
Run Code Online (Sandbox Code Playgroud)
append()
返回None
,无法分配p.childrenKeys
.
归档时间: |
|
查看次数: |
2934 次 |
最近记录: |