django'da aşağıdaki gibi tanımlanan bir modelimiz olduğunu varsayalım:
class Literal:
name = models.CharField(...)
...
Ad alanı benzersiz değildir ve bu nedenle yinelenen değerlere sahip olabilir. Aşağıdaki görevi gerçekleştirmem gerekiyor: Modelden , alanın en az bir yinelenen değerine sahip tüm satırları seçin name
.
Düz SQL kullanarak nasıl yapılacağını biliyorum (en iyi çözüm olmayabilir):
select * from literal where name IN (
select name from literal group by name having count((name)) > 1
);
Öyleyse, bunu django ORM kullanarak seçmek mümkün mü? Veya daha iyi SQL çözümü?
Literal.objects.values('name').annotate(name_count=Count('name')).filter(name_count__gt=1)
?