在GQL(googleappengine)上获取4个不重复的最新结果

2024-06-25 05:38:19 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我的GAE申请表上有这个:

try:
    last = RegistroDescargas.gql("order by date DESC LIMIT 4")
except:
    last = None

这样我就可以得到数据库的最后四行(“RegistroDescagas”),其定义如下:

class RegistroDescargas(db.Model):
    '''Model para guardar el registro de vídeos descargados en la web'''
    date = db.DateTimeProperty(auto_now_add=True)
    urlOrig = db.StringProperty(required=True)
    urlImg = db.StringProperty(required=True)
    vidTit = db.StringProperty(required=True)
    vidDesc = db.TextProperty()

但当然,如果一个或最后四个结果是重复的,只是告诉我,我想要的是得到最后不重复的四行,我不知道我怎么能做到这一点。。。你知道吗

有什么建议吗?(我想,如果在最后这是可能的,可以用一个完全不同的句子,但我不介意;)

非常感谢您的帮助。。对不起,我的英语。。你知道吗


Tags: truedbdatebymodelrequiredorderdesc
1条回答
网友
1楼 · 发布于 2024-06-25 05:38:19

GQL不支持不同的查询。你能做的就是把结果放入一个集合,然后检查一个集合中有多少条目。如果少于4条,则查询其他记录。你知道吗

这个答案更深入:Python: DISTINCT on GQuery result set (GQL, GAE)

否则,需要预先计算这种不同的列表。GAE遵循了一个咒语,即通过昂贵的写入来实现超快速读取。你知道吗

相关问题 更多 >