Django에서 모델의 레코드 삭제

Vaibhav Vaibhav 2021년7월18일
Django에서 모델의 레코드 삭제

Django는 풀 스택 애플리케이션을 매우 빠르게 빌드 할 수있는 다목적 프레임 워크입니다. Django는 모든 웹 애플리케이션과 관련된 대부분의 복잡하고 핵심 작업을 효율적으로 처리하므로 개발자가 처음부터 작성할 필요가 없습니다.

다행히 Django는 데이터베이스를 매력적으로 처리하고 데이터베이스와 상호 작용하는 것이 정말 간단합니다. 원시 SQL 쿼리는 Django로 작성할 수 있지만 Python을 사용하여 데이터베이스 및 테이블과 상호 작용할 수 있습니다. Python을 사용하여 데이터베이스에 대해 CRUD 작업을 매우 빠르게 수행 할 수 있습니다.

이 기사에서는 CRUD 작업 삭제 기능을 소개하고 Django에서 모델의 레코드를 삭제하는 방법을 보여줍니다.

Django에서delete()메소드를 사용하여 모델의 레코드 삭제

Django의 모든 모델 개체 또는 인스턴스에는 해당 레코드를 삭제하는 데 사용할 수있는delete()메서드가 있습니다. 이제이delete()메소드를 사용하여 단일 레코드와 여러 레코드를 삭제할 수도 있습니다.

단일 레코드를 삭제하려면 다음 코드를 사용합니다.

record = ModelName.objects.get(id=25)
record.delete()

get()메소드는id가 25 인 레코드를 가져온 다음 삭제합니다. 그러나 레코드를 찾을 수 없으면 예외가 발생합니다. 이를 방지하기 위해 다음과 같이try...except블록을 사용할 수 있습니다.

try:
    record = ModelName.objects.get(id=25)
    record.delete()
    print("Record deleted successfully!")
except:
    print("Record doesn't exists")

모든 레코드를 삭제해야하는 경우 모든 레코드를 포함하는QuerySet에서이delete()함수를 호출 할 수 있습니다. 아래 코드는 동일한 작업을 수행합니다.

records = ModelName.objects.all()
records.delete()

위에서 언급했듯이QuerySet에서이delete()함수를 호출 할 수 있습니다. 이는 일부 필터링 된 레코드의QuerySet에서도이 함수를 호출 할 수 있음을 의미합니다. 동일한 출력에 대해서는 다음 코드를 참조하십시오.

records = ModelName.objects.filter(firstName="Vaibhav")
records.delete()
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

관련 문장 - Django Model