Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine google数据存储中ndb实体之间的继承或所有权_Google App Engine_Reference_App Engine Ndb_Datastore - Fatal编程技术网

Google app engine google数据存储中ndb实体之间的继承或所有权

Google app engine google数据存储中ndb实体之间的继承或所有权,google-app-engine,reference,app-engine-ndb,datastore,Google App Engine,Reference,App Engine Ndb,Datastore,我正在开发一个简单的在线数据库,用于艺术家之间共享技术设备 我想让类User()拥有其他类的实体,例如Lamp()或Speaker() 在使用db时,我似乎可以使用ReferenceProperty,但当我查看ndb的文档时,我似乎有点困惑,因为我找不到ReferenceProperty 因此,如果使用ndb,我想通过引用User()的id,让类Lamp()的实体归类User()的实体所有,我应该怎么做?希望它像我在下面写的一样,尽管我很自信我在下面写的东西实际上不起作用: class User

我正在开发一个简单的在线数据库,用于艺术家之间共享技术设备

我想让类
User()
拥有其他类的实体,例如
Lamp()
Speaker()

在使用db时,我似乎可以使用
ReferenceProperty
,但当我查看
ndb
的文档时,我似乎有点困惑,因为我找不到
ReferenceProperty

因此,如果使用
ndb
,我想通过引用
User()
的id,让类
Lamp()
的实体归类
User()
的实体所有,我应该怎么做?希望它像我在下面写的一样,尽管我很自信我在下面写的东西实际上不起作用:

class User(ndb.Model):
    name = ndb.StringProperty()
    email = ndb.....

class Lamp(db.Model):
    owner = db.ReferenceProperty(User)

您要查找的是
ndb.KeyProperty(kind=“User”)
,如中所示

例如,如果您有一个用户
u
,并且想要
u
拥有的所有灯具,您可以通过以下方式获得:

lamps=Lamp.query(Lamp.owner==u.key).fetch()

如果您有一个灯
l
,并且想要获得
l
的所有者,您可以通过以下方式获得:

owner=l.owner.get()


您还可以使用祖先引用您的类别,而无需指定
KeyProperty
,如中所示。ndb中的
db.ReferenceProperty
替换为
ndb.KeyProperty