我有事务性的db.Model类型的实体组,它们定义了父类。我想查询数据存储区只返回同一组中的模型。目前我正在查询'Kind'的所有对象,然后删除那些没有相同root实体的对象。
有更清洁的方法吗 - 我在sdk中看不到一个。
例如:
from google.appengine.ext import db
class ParentObject(db.Model):
....
class ChildObject(db.Model):
....
parent1 = ParentObject()
parent2 = ParentObject()
child1 = ChildObject(parent=parent1)
child2 = ChildObject(parent=parent2)
child3 = ChildObject(parent=parent1)
我想运行一个返回child1和child3的查询,因为它们具有相同的父级。
答案 0 :(得分:3)
答案 1 :(得分:1)
class TestFamilyTree(unittest.TestCase):
def test_family_tree(self):
parent1 = ParentObject()
parent1.put()
parent2 = ParentObject()
parent2.put()
child1 = ChildObject(parent=parent1)
child1.put()
child2 = ChildObject(parent=parent2)
child2.put()
child3 = ChildObject(parent=parent1)
child3.put()
query = ChildObject.all()
query.ancestor(child1.parent())
siblings = query.fetch(100)
self.assertEqual(len(siblings),2)