在 Django 中选择具有重复字段值的行
从模型中选择给定字段至少有一个重复值的所有行,可以结合使用Django的聚合和过滤功能:
from django.db.models import Count dupes = Literal.objects.values('name').annotate(id_count=Count('id'))
dupes = dupes.filter(id_count__gt=1)
dupes = Literal.objects.filter(name__in=[item['name'] for item in dupes])
替代 SQL解决方案:
如果愿意,您还可以使用子查询来获得相同的结果:
SELECT * FROM literal WHERE name IN ( SELECT name FROM literal GROUP BY name HAVING COUNT(*) > 1 );
以上是如何在 Django 中选择具有重复字段值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!