J'essaie d'obtenir la liste des noms de magasins distincts dans la liste des soumissions.Django: L'utilisation de .distinct() sur une requête provoque une requête de base de données invalide
Mon modèle Django très simple:
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)
Si je fais:
stores = Submission.objects.values_list('store_name', flat=True)
Ensuite, le résultat imprimé est très bien:
[u'amazon.com', u'amazon.com', u'amazon.com', u'buy.com']
Cependant - si j'ajoute .distinct() à la requête, alors je reçois Cette requête n'est pas supportée par la base de données.
Des idées sur pourquoi cela se produirait? J'ai joué avec l'utilisation de valeurs au lieu de valueslist sans la chance.
(Dernière version django, Python 2.6, OS X, Google App Engine)
Pour alléger le problème un peu vous pouvez exécuter 'stores.query' d'impression et post la sortie sql brute ici! –
SELECT DISTINCT app_submission.store_name FROM app_submission – Eitan