我想通過它們的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這本書回顧的例子只是我正在做的一個精簡版;我需要親子關係是這樣的,因爲我的應用程序在一個事務中編輯了很多「評論」,所以它需要鎖定用戶的實體組才能工作。 –
鎖定用戶的實體組,例如爲了確保用戶沒有被刪除或類似的東西? –