Menu
CoddyTech

행 만들기

Coddy Django 여정의 모델과 관리자 섹션에 포함된 레슨. 23개 중 7번째.

책장에 새 책이 필요하지만, 데이터베이스가 사용하는 언어인 SQL을 직접 작성할 필요는 없습니다. Django의 ORM은 Python 호출을 SQL로 변환합니다. 모든 모델에는 매니저인 Book.objects가 있으며, 이를 통해 해당 테이블에 접근할 수 있습니다. 이 장에서는 explore.py에 ORM 코드를 작성합니다. Run은 책 아홉 권을 추가한 다음 python manage.py shell < explore.py를 실행하듯 파일을 실행하고, 출력 결과는 Console에 표시됩니다.

Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")

create()는 행을 만들고 한 번에 저장합니다. 생략한 필드에는 기본값이 적용됩니다. 다음은 중간에 값을 변경하면서 두 단계로 처리하는 방법입니다.

silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()

save()가 실행되기 전까지 객체는 Python 안에만 존재하며, 객체의 id는 None입니다.

challenge icon

챌린지

쉬움

explore.py에서 print 위에 다음을 추가하세요.

  • Project Hail Mary를 Andy Weir가 쓴 책으로 추가하세요. 연도는 2021, 가격은 12.99, 장르는 과학 소설로 설정하고 한 번에 추가하세요.
  • Klara and the Sun을 Kazuo Ishiguro가 쓴 책으로 추가하세요. 연도는 2021, 가격은 11.50으로 설정하고, Book을 만든 다음 저장하세요.

Run을 누르세요. Console에는 11 books on the shelf가 표시되고, Data 탭에는 새 행 두 개가 나열됩니다.

직접 해보기

from books.models import Book

# 여기에 책 두 권을 추가하세요.


print(Book.objects.count(), "books on the shelf")

모델과 관리자의 모든 레슨

직접 연습해 보세요: Django 플레이그라운드