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 App Engine_Google Cloud Datastore - Fatal编程技术网

Google app engine 在谷歌应用程序引擎中搜索模型关系?

Google app engine 在谷歌应用程序引擎中搜索模型关系?,google-app-engine,google-cloud-datastore,Google App Engine,Google Cloud Datastore,我有两种型号: class Parent (db.Model) : data = db.StringProperty() class Child1 (db.Model) : parent = db.ReferenceProperty(Parent) childData = db.StringProperty() class Child2 (db.Model) : parent = db.ReferenceProperty(Parent) childData2 = db.

我有两种型号:

class Parent (db.Model) :
  data = db.StringProperty()


class Child1 (db.Model) :
  parent = db.ReferenceProperty(Parent)
  childData = db.StringProperty()

class Child2 (db.Model) :
  parent = db.ReferenceProperty(Parent)
  childData2 = db.StringProperty()

class Child3 (db.Model) :
  parent = db.ReferenceProperty(Parent)
  childData3 = db.StringProperty()

我想要一个查询,它可以给我一个列表,列出所有还没有孩子的父母。我该怎么做


我不想在父模型中为每个子模型维护标识符,因为我想经常添加新的子模型。

正确的处理方法是在父实体中保留子模型数量的计数。然后,您可以简单地查询子计数等于0的父项

您不需要在父实体中具有子id;你要记下孩子的数量。子对象是一种模型类型还是另一种模型类型并不一定重要。保持此运行计数的目的是使您能够解决查询无子女家长的问题。数据存储或AppEngine查询对象没有提供此功能的本机功能

因此,由于本机不支持此操作,您可以选择以下两种方式之一:

1) 保持子项数量的连续计数,无论何时添加或删除子项,都会递增或递减

2a)查询每种类型的每个子级,并记录父级的唯一值

2b)查询所有父实体,并将它们与来自2a的唯一父ID匹配


我将让您决定哪种方法是正确的。

正确的处理方法是在父实体中记录子实体的数量。然后,您可以简单地查询子计数等于0的父项

您不需要在父实体中具有子id;你要记下孩子的数量。子对象是一种模型类型还是另一种模型类型并不一定重要。保持此运行计数的目的是使您能够解决查询无子女家长的问题。数据存储或AppEngine查询对象没有提供此功能的本机功能

因此,由于本机不支持此操作,您可以选择以下两种方式之一:

1) 保持子项数量的连续计数,无论何时添加或删除子项,都会递增或递减

2a)查询每种类型的每个子级,并记录父级的唯一值

2b)查询所有父实体,并将它们与来自2a的唯一父ID匹配


我将让您决定哪种方法是正确的。

更新了我的问题。我不想在父项中添加子项id。已更新我的问题。我不想在父对象中添加子对象id。“父对象”是保留的属性名称,因此您的示例根本不起作用。“父对象”是保留的属性名称,因此您的示例根本不起作用。