supongamos que tenemos un modelo de Django definido de la siguiente manera:Django seleccionar sólo las filas con valores de campo duplicados
class Literal:
name = models.CharField(...)
...
campo Nombre no es único, y por lo tanto pueden tener valores duplicados. Necesito realizar la siguiente tarea: Seleccione todas las filas del modelo que tienen al menos un valor duplicado del campo name
.
sé cómo hacerlo utilizando SQL normal (no puede ser la mejor solución):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
lo tanto, es posible seleccionar esta usando ORM de Django? O mejor solución de SQL?
Probablemente ha querido decir '' Literal.objects.values ('name'). annotate (name_count = Count ('nombre')). Filter (name_count__gt = 1) ''? – dragoon
'name' puede no ser único, pero estoy bastante seguro de que' id' es. –
La consulta original da '' No se puede resolver la palabra clave 'id_count' en el campo'' – dragoon