Skip to main content
 首页 » 编程设计

python之在 GQL (Google App Engine) 上获取 4 个不重复的最新结果

2025年05月04日23jirigala

您好,我的 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() 

但是当然,如​​果一个或最后四个结果重复,只是告诉我,我想要的是最后不重复的四行,我不知道我该怎么做......

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

非常感谢任何帮助..对不起我的英语..

请您参考如下方法:

GQL 不支持 DISTINCT 查询。您可以做的壁橱是将结果放入一个集合中,然后检查一个集合中有多少条目。如果少于四条,则查询更多记录。

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

否则,需要预先计算此类不同的列表。 GAE 遵循昂贵写入的信条以实现超快速读取。