1

我保存了user_id()字段,現在我想查詢該用戶的數據存儲。 我該如何去完成這件事?GAE DataStore:通過user_id字段查詢現有的

#Something like 
user = db.Query(MyUser).filter('user.user_id() = ', 1234).fetch(limit=1) 

感謝

+0

我想只有變量支持你有一個函數user.user_id()'。我認爲你最多使用一個臨時變量來使你的查詢工作。 –

回答

3

你應該創建一個單獨的字符串屬性來存儲用戶ID,然後查詢這一點。 UserProperty類充滿了陷阱,最好避免。

1

,如果你正在尋找的是實際的實體ID,那麼你可以用get_by_id方法,它查詢

user = MyUser.get_by_id(1234) 

請注意,如果你與父母創建它的您也需要將它傳遞給get_by_id()函數。

user = MyUser.get_by_id(1234, parent=parent) 

文檔: https://developers.google.com/appengine/docs/python/datastore/modelclass#Model_get_by_id

+1

不,我的意思是我保存一個用戶類實例,它實現了函數user_id()並表示一個Google帳戶。並將該實例存儲在數據存儲中,希望能夠通過查詢找到它。 – zehelvion

+1

您無法查詢或篩選函數結果。您是否將用戶標識作爲屬性存儲在模型中?你應該用你的模型,user_id函數和你如何保存實體來更新你的問題 – aschmid00