比方说我有:
class Like(db.Model):
user = db.ReferenceProperty(User,collection_name='likes')
photo = db.ReferenceProperty(Photo,collection_name='likes_received')
created = db.DateTimeProperty(auto_now_add=True)
是否可以运行仅返回照片键列表的投影查询?
photos = db.GqlQuery("SELECT photo FROM Like WHERE created < DATETIME(2013, 1, 1, 0, 0, 0)").fetch(10)
上面的代码产生:
BadValueError: Unsupported data type (<class 'models.Photo'>)
最佳答案 我道歉,我的第一个答案是错的.投影查询存在一个实际问题 – 尚未支持ReferenceProperty.阿尔弗雷德正在研究这个问题;因为今天1.6.6预发布SDK已经发布,并且这已经存在于1.6.5 SDk中,我怀疑我们将在1.6.6中修复此问题,但1.6.7是可能的.
作为解决方法,您可以使用db.ListProperty(db.Key),它是一个键列表(您只存储一个键),或者一个StringProperty,其值是键的str().