2010-03-26 10 views
10

Hoffnung macht das Sinn ...Django Abfrage, um einen einzigartigen Satz zu erhalten basierend auf einem Wert der bestimmten Spalte

Gibt es eine einfache Möglichkeit, eine Reihe von Werten aus einer Tabelle auf einer einzigen Spalte die Werte auf Basis zurückzukehren deutlich einzigartig zu sein ? Was ich hoffe, für so etwas wie:

SegCode.query.filter(ref.unique()).only('ref') 

, die nicht wirklich Code, aber ich hatte gehofft, es war da draußen einige einfache Funktion, die dies erreichen wird ...


Z.B. Tabelle könnte wie folgt aussehen:

1 | abc | 123 | AAA 
2 | def | 456 | AAA 
3 | ghi | 789 | BBB 
4 | jkl | 012 | CCC 
5 | mno | 345 | CCC 
6 | pqr | 678 | CCC 
7 | stu | 901 | DDD 
8 | vwx | 234 | DDD 

Also, ich einen Satz möchte, die mit kommt zurück: [AAA, BBB, CCC, DDD]

Antwort

14
SegCode.objects.values_list('ref', flat=True).distinct() 

Ich denke, das ist, was Sie nach, Ihre Frage ist nicht wirklich Löschen

+0

Haben Sie Ihren Code noch nicht ausprobiert, aber ich habe nur mit einigen weiteren Informationen aktualisiert, hoffentlich klar, was ich zu erreichen versuche. – kafuchau

+0

Ok, entsprechend deiner Bearbeitung, mein Code ist genau das, was du willst – priestc

+0

Das funktioniert nur, wenn meine Klasse von SegCode ein Django-Modell ist, korrekt? Was wäre, wenn meine Klasse eine Elixier-Entität wäre, was bedeutet, dass ich Querysets für die Abfrage verwenden müsste? Ich frage, weil ich einen Fehler bekomme: Typ Objekt 'SegCode' hat kein Attribut 'Objekte' – kafuchau

Verwandte Themen