簡體   English   中英

如何僅從 Google Cloud Datastore 實體中提取密鑰

[英]How do I extract only the key from a Google Cloud Datastore entity

我正在使用 gcloud cli 工具開發一個項目。 我正在使用 Python + Flask 來開發應用程序。 我的主要參考點是Google Datastore 文檔以及這個 How-to 教程指南

我的數據存儲中有一些實體,這些實體有一些屬性。 實體在應用程序中創建,密鑰設置為默認密鑰(也稱為不完整密鑰)。

我可以訪問實體。 並且使用投影,我還可以訪問每個實體的屬性。 但是,有沒有辦法只從實體中提取密鑰? 例子:

>>> print(list(user_query.fetch()))
[<Entity('User', 5097358505279488) {...}>]

當我想訪問屬性時,這可以正常工作。 但是,我無法訪問密鑰509.. 我也試過:

>>> for user in user_query.fetch():
       print(user.key)
       ...
>>> <Key('User', 5097358505279488), project=...>

雖然它返回整個密鑰 object,但我找不到僅提取密鑰的方法。 我已經搜索了解決方案的文檔,但它沒有返回任何內容。 我想知道這是否可能在這一點上。

聽起來您正在嘗試獲取 key.id 的投影。 不幸的是,這是不可能的。 您可以執行返回鍵的查詢,然后可以使用列表推導來獲取所需的數據,例如[key.id_or_name for key in key_only_query.fetch_page()]

你用它來獲取 id

print(user.key.id)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM