припустимо, у нас є модель у django, визначена наступним чином:
class Literal:
name = models.CharField(...)
...
Поле імені не є унікальним, і, отже, може мати повторювані значення. Мені потрібно виконати наступне завдання: Вибрати всі рядки з моделі , які мають принаймні один повторюється значення в name
поле.
Я знаю, як це зробити за допомогою простого SQL (можливо, не найкраще рішення):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
Отже, чи можна вибрати це за допомогою django ORM? Або краще рішення SQL?
Literal.objects.values('name').annotate(name_count=Count('name')).filter(name_count__gt=1)
?