我想通过它们的ID查询实体,但不包括它们的父ID。如何通过ID查询实体
下面是一些代码,以帮助解释:
class Book(ndb.Model):
...
class User(ndb.Model):
...
class Review(ndb.Model):
...
当我创建Review
对象,我把他们的父母是用户,他们的ID是一样的书ID:
review = Review(key=ndb.Key('Review', book.key.id(), parent=user.key))
现在我想知道每本书有多少评论,通过查询。由完整的密钥查询将无法正常工作,因为父ID会有所不同。
我目前使用的是储存在ndb.KeyProperty
或ndb.IntegerProperty
书ID,但实际上是作为审查的ID将已经是同一个冗余信息的解决方法。
有什么办法只由密钥ID做了查询,但不包括父ID?
我不hting有一个正式的方式。存储参考资产是一个好主意,您可以获得如下书籍评论: book.reviews。此外,为什么你将父母设置为用户而不是书本?如果你想删除一本书,所有它的评论,你会怎么做呢? –
@JimmyKane这本书回顾的例子只是我正在做的一个精简版;我需要亲子关系是这样的,因为我的应用程序在一个事务中编辑了很多“评论”,所以它需要锁定用户的实体组才能工作。 –
锁定用户的实体组,例如为了确保用户没有被删除或类似的东西? –