gpt4 book ai didi

Django:在查询上使用 .distinct() 会导致无效的数据库查询

转载 作者:行者123 更新时间:2023-12-04 06:41:38 25 4
gpt4 key购买 nike

我试图在提交列表中获取不同 store_names 的列表。

我非常简单的 Django 模型:

class Submission(models.Model):  
title = models.CharField(max_length=50, null=True, blank=True)
description = models.CharField(max_length=200, null= True, blank=True)
store_name = models.CharField(max_length=200)

如果我做: stores = Submission.objects.values_list('store_name', flat=True)然后打印的结果很好: [u'amazon.com', u'amazon.com', u'amazon.com', u'buy.com']
但是 - 如果我添加 .distinct() 到查询,然后我得到 数据库不支持此查询。

关于为什么会发生这种情况的任何想法?我玩过使用 values 而不是 valueslist 没有运气。

(最新的 django 版本,Python 2.6,OS X,Google App Engine)

最佳答案

Google Appengine Datastore API 不支持 distinct功能。这就是你得到的错误所说的,所以你不能这样做。

您所能做的就是在获取如下结果后过滤不唯一的问题:

stores = Submission.objects.values_list('store_name', flat=True)
unique_stores = []
for store in stores:
if store not in unique_stores:
unique_stores.append(store)

关于Django:在查询上使用 .distinct() 会导致无效的数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com