第一个模型
class A(db.Model):
number = db.IntgerProperty()
第二个模型
class B(db.Model):
name = db.StringProperty()
numbers = db.ListProperty(db.Key)
A
模型已成功保存。
a = A()
a.number = 90
a.put()
BadValueError:数字列表中的项目必须都是Key实例
b = B()
b.name = 'test'
b.numbers = [90]
b.put()
你能帮帮忙吗?非常感谢。
答案 0 :(得分:3)
编辑(基于OP评论):如果您要插入db.Key
,则需要提供一个。
调用put()
会返回一个键,因此您可以使用它,例如:
a = A()
the_key = a.put()
b = B()
b.name = 'test'
b.numbers = [the_key]
b.put()
OP澄清前的旧答案:
使用db.ListProperty(db.Key)
,您说您需要db.Key
个实例的列表
如果你想要整数,请按照以下方式声明你的模型:
class B(db.Model):
name = db.StringProperty()
numbers = db.ListProperty(int)
^^^
答案 1 :(得分:0)
一个:
a = A()
a.number = 90
a_key = a.put() # returns the Key object of a's datastore entity
B:
b = B()
b.name = 'test'
b.numbers = [a_key] # store a Key object in the ListProperty of b
b.put()