행 만들기
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입니다.
챌린지
쉬움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 플레이그라운드