본문 바로가기

django orm에서 중복 레코드를 삭제하는 방법은 다음과 같습니다.

예제코드

# django orm에서 중복 레코드 삭제하기
from django.db.models import Q, F
from blog.models import Person

# name과 age 필드가 모두 같은 레코드를 중복으로 간주
duplicates = Person.objects.filter(name__exact=F('age'))

# 중복 레코드들의 id를 리스트로 추출
ids = duplicates.values_list('id', flat=True)

# 중복 레코드들 중에서 하나만 남기고 나머지는 삭제
Person.objects.filter(pk__in=ids[1:]).delete()

데이터의 홍수

 

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.