2011-05-01 36 views
1

我有一個db.Model有一個db.UserProperty。例如:如何在App Engine上的GQL查詢中正確引用用戶?

class Photo(db.Model): 
    owner = db.UserProperty() 
    title = db.StringProperty() 

當我想要得到的所有照片的用戶,我這樣做:

photos = Photo.gql("WHERE owner = USER(:1)", users.get_current_user().nickname()) 

這是造成問題,但是,谷歌和非谷歌暱稱之間。在本地測試時,如果使用電子郵件地址[email protected],則暱稱爲「[email protected]」。如果我使用[email protected],那麼暱稱是「測試」。當我使用Gmail帳戶進行測試時,必須將「@ gmail.com」附加到.nickname()。

有沒有更好的方法來做到這一點比硬編碼+「@ gmail.com」所有我的數據庫查詢?

+0

暱稱不能保證(甚至打算)是唯一的。 – 2011-05-02 03:42:42

回答

5

photos = Photo.gql("WHERE owner = :1", users.get_current_user())

+0

嗯,那很簡單!謝謝! – 2011-05-01 05:39:51

+0

另外,如果您從html獲取值,則應該通過將用戶名傳遞給Users.User()來創建一個用戶對象。 – 2011-05-01 15:02:47

相關問題