在 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中文網其他相關文章!