Sanırım zihnimi kaybediyorum, neden aşağıdaki iş yok? App Engine, ListProperty'ye öğeleri ekliyor
default is the default value for the list property. If None, the default is an empty list. A list property can define a custom validator to disallow the empty list.
Yani yolu ben varsayılan (boş liste) alıyorum, görmek ve ekleme
:BadValueError: Property childrenKeys is required
doc diyor ki:
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()
bu hatayı alıyorum ona yeni bir değer ve onu kaydetme. Bununla
p.childrenKeys = p.childrenKeys.append('newchildkey')
:
p.childrenKeys.append('newchildkey')
append()
döner None
, p.childrenKeys
tahsis edilemez bu Değiştir
class Parent(db.Model):
childrenKeys = db.ListProperty(str,indexed=False,default=[])
p = Parent.get_or_insert('somekey')
p.childrenKeys.append('newchkey')
p.put()
Muhtemelen her durumda 'ListProperty (str)' yerine bir 'StringListProperty' isteyebilirsiniz. (Her ne kadar bu sizin için işe yarıyorsa da, son zamanlarda SDK eşdeğer olan bir şey değişmiş olabilir). – geoffspear