저번에 작성한 models.py의 클래스를 토대로 만들어진 DB Table에 python shell에서 다양한 method기능을 사용해보았다.
python manage.py shell
a = Category.objects.values("name")
for i in a:
print(i)
object의 원하는 컬럼만 가져오기 위해 value를 사용할 수 있다. values()는 model Instnace가 아닌 Dictionary로 이루어진 QuerySet을 Return해준다.
p = Product.objects.values_list('id','korean_name')
for i in p:
print(i)
values_list()는 value만 가진 tuple형태로 리턴한다.
# insert
m1 = Menu(name="상품")
m1.save()
# update
product = Product.objects.get(id=10)
product.name # 나이트로 바닐라 크림
product.korean_name = "돌체 콜드 브루"
product.save()
product.korean_name # 돌체 콜드 브루
INSERT 또는 UPDATE 를 수행하는 method로, 단일 객체에 대해서 업데이트를 수행할 때 많이 사용된다.
Instance가 get_or_create()에 의해 생성되었다면 True를 return하고, 기존 Database에서 get했다면 False를 return한다.
QuerySet을 통해 계산된 평균, 합계 등을 Dictionary의 형태로 출력해준다.