suponha que temos um modelo em Django definido da seguinte forma:
class Literal:
name = models.CharField(...)
...
O campo de nome não é exclusivo e, portanto, pode ter valores duplicados. Preciso realizar a seguinte tarefa: Selecionar todas as linhas do modelo que tenham pelo menos um valor duplicado do name
campo.
Eu sei fazer isso usando SQL simples (pode não ser a melhor solução):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
Então, é possível selecionar isso usando django ORM? Ou melhor solução SQL?
Literal.objects.values('name').annotate(name_count=Count('name')).filter(name_count__gt=1)
?