[파이썬][Django] Django ORM을 사용한 데이터 조회 및 조작 방법과 예제

Django ORM (Object-Relational Mapping)을 사용하여 데이터베이스에서 데이터를 조회하고 조작하는 방법을 설명하겠습니다. Django ORM은 Python 클래스를 사용하여 데이터베이스 테이블과 상호 작용할 수 있는 강력한 도구입니다.

데이터 조회

  1. 모든 레코드 조회:

    모델 클래스를 사용하여 데이터베이스 테이블의 모든 레코드를 조회할 수 있습니다.

from myapp.models import MyModel
    
    all_records = MyModel.objects.all()
이렇게 하면 `all_records` 변수에 모든 레코드가 포함됩니다.
  1. 조건에 따른 조회:

    .filter() 메서드를 사용하여 특정 조건에 맞는 레코드를 조회할 수 있습니다.

filtered_records = MyModel.objects.filter(age=30)
위의 예제는 `age` 필드가 30인 레코드를 조회합니다.
  1. 단일 레코드 조회:

    .get() 메서드를 사용하여 조건에 따른 단일 레코드를 조회할 수 있습니다.

record = MyModel.objects.get(name="John")
이렇게 하면 `name` 필드가 "John"인 단일 레코드가 조회됩니다.

데이터 조작

  1. 데이터 추가:

    데이터베이스에 새로운 레코드를 추가하려면 모델 클래스의 인스턴스를 생성하고 save() 메서드를 호출합니다.

new_record = MyModel(name="Alice", age=25, email="alice@example.com")
    new_record.save()
이렇게 하면 새로운 레코드가 데이터베이스에 추가됩니다.
  1. 데이터 수정:

    이미 존재하는 레코드를 수정하려면 레코드를 조회하고 필드 값을 변경한 후 save() 메서드를 호출합니다.

record = MyModel.objects.get(name="Alice")
    record.age = 26
    record.save()
위의 예제는 "Alice"의 나이를 26으로 수정합니다.
  1. 데이터 삭제:

    레코드를 삭제하려면 .delete() 메서드를 호출합니다.

record = MyModel.objects.get(name="Alice")
    record.delete()
이렇게 하면 "Alice" 레코드가 삭제됩니다.

Django ORM을 사용하면 데이터베이스 작업을 Python 코드로 쉽게 수행할 수 있으며, 데이터를 조회하고 조작하는 데 매우 효과적입니다. 필요에 따라 쿼리셋 메서드를 조합하여 복잡한 데이터베이스 작업을 수행할 수 있습니다.