manage.py가 있는 경로에서 아래 명령어를 입력하자.
python manage.py shell
그러면 Django를 포함한 shell로 들어올 수 있다.
from '앱이름'.models import '테이블명'
위의 명령어를 통해 만들었던 테이블들을 호출 할 수 있다. (테이블명 대신 *을 입력함으로서 models 전체를 불러올 수 있다.) 여기서 새로운 데이터를 database에 입력할 수 있다.
주로 사용하는 메소드들을 알아보자.
새로운 값을 입력한다. 만약 null=True가 아닌 값을 비워두면 에러가 출력된다.
지정된 조회 매개 변수와 일치하는 인스턴스를 반환합니다.이 매개 변수는 필드 조회에 설명 된 형식이어야합니다.
지정된 필드에 대해 업데이트를 수행하고 수행한 행 수를 반환한다.
QuerySet의 모든 행에 대해 SQL 삭제 쿼리를 수행하고 삭제 된 개체 수와 개체 유형별 삭제 횟수가 있는 dictionary를 반환합니다.
아래 예시를 보자.
In : category = Category.objects.get(id=2)
Out : <Category: Category object (2)>
In : category.name
Out : '브루드커피'
In : category.name = 'new name'
In : category.save()
In : category.name
Out : 'new name'
이처럼 단일 개체에 대해 업데이트 할 때 주로 사용한다.
filter()와 함께 서용해서 filter 조건에 맞는 데이터가 있는지 조회, 존재하면 True 존재하지 않으면 False를 반환한다.
해당 테이블의 전체를 QuerySet으로 반환한다.
아래 예시를 보자.
case1
In : Category.objects.filter(name='브루드커피')
Out : [<Category: Category object (3)>, <Category: Category object (4)>]
case2
In : Category.objects.filter(name='브루드커피').filter(id=3)
Out : [<Category: Category object (3)>]
case3
In : Category.objects.filter(name='브루드커피').exclude(id=3)
Out : [<Category: Category object (4)>]
filter()를 통해 특정 레코드를 가져올 수 있고 exclude()를 통해 예외시킬 수 있다.