我有一个db.Model,它有一个db.UserProperty。例如:
class Photo( db.Model ):
owner = db.UserProperty()
title = db.StringProperty()
当我想为用户获取所有照片时,我会这样做:
photos = Photo.gql( "WHERE owner = USER(:1)", users.get_current_user().nickname() )
但这会导致Google和非Google昵称之间出现问题。在本地测试时,如果我使用电子邮件地址test@example.com,则昵称为“test@example.com”。如果我使用test@gmail.com,则昵称为“test”。当我使用Gmail帐户进行测试时,我必须将“@ gmail.com”附加到.nickname()。
对于我的所有数据库查询,有没有比硬编码+“@ gmail.com”更好的方法呢?
答案 0 :(得分:5)
photos = Photo.gql("WHERE owner = :1", users.get_current_user())