supongamos que tenemos un modelo en django definido de la siguiente manera:
class Literal:
name = models.CharField(...)
...
El campo de nombre no es único y, por lo tanto, puede tener valores duplicados. Necesito realizar la siguiente tarea: Seleccionar todas las filas del modelo que tengan al menos un valor duplicado del name
campo.
Sé cómo hacerlo usando SQL simple (puede que no sea la mejor solución):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
Entonces, ¿es posible seleccionar esto usando django ORM? ¿O una mejor solución SQL?
Literal.objects.values('name').annotate(name_count=Count('name')).filter(name_count__gt=1)
?