Angenommen, wir haben ein Modell in Django, das wie folgt definiert ist:
class Literal:
name = models.CharField(...)
...
Das Namensfeld ist nicht eindeutig und kann daher doppelte Werte haben. Ich muss die folgende Aufgabe ausführen: Wählen Sie alle Zeilen aus dem Modell aus, die mindestens einen doppelten Wert des nameFelds haben.
Ich weiß, wie man es mit einfachem SQL macht (möglicherweise nicht die beste Lösung):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
Ist es also möglich, dies mit Django ORM auszuwählen? Oder bessere SQL-Lösung?
Literal.objects.values('name').annotate(name_count=Count('name')).filter(name_count__gt=1)?