Django C.R.U.D(1)(2組)チャレンジ


all() vs values()
all()とvalues()は、テーブル内のすべてのデータをクエリーするために使用されます.
all()はQuerySetオブジェクトを返し、1番オブジェクト、2番オブジェクトはこのようにidのみを表示し、そのオブジェクトの詳細は表示しません.
>>> Category.objects.all()
<QuerySet 
[<Category: Category object (1)>, 
<Category: Category object (2)>, 
<Category: Category object (3)>, 
<Category: Category object (4)>, 
<Category: Category object (5)>, 
<Category: Category object (6)>]>
values()を使用しても、dicky=valueとして表示されるQuerySetオブジェクトが返されます.すべての属性値が表示されます.
>>> Category.objects.values()
<QuerySet [{'id': 1, 'name': '콜드 브루 커피', 'menu_id': 1}, {'id': 2, 'name': '브루드 커피', 'menu_id': 1}, {'id': 3, 'name': '에스프레소', 'menu_id': 1}, {'id': 4, 'name': '프라푸치노', 'menu_id': 1}, {'id': 5, 'name': '블렌디드', 'menu_id': 1}, {'id': 6, 'name': '스타벅스 피지오', 'menu_id': 1}]>
get() vs filter()
get()とfilter()もデータをクエリーする関数です.
get()を使用すると、オブジェクトを返し、1つのデータのみをクエリーできます.
>>> Category.objects.get(id=1)
<Category: Category object (1)>
filter()を使用して、QuerySetを返し、複数のデータをクエリーします.
>>> Category.objects.filter(menu_id=1)
<QuerySet 
[<Category: Category object (1)>, 
<Category: Category object (2)>, 
<Category: Category object (3)>, 
<Category: Category object (4)>, 
<Category: Category object (5)>, 
<Category: Category object (6)>]>
create() vs save()
create()とsave()は、テーブル内のデータを作成するために使用されます.
createを使用すると、1行で簡単に作成できます.
>>> Category.objects.create(name="콜드 브루 커피", menu_id=1)
<Category: Category object (1)>
save()は、新しい変数を作成して保存する必要があります.
最後に、データベースにデータを格納するにはsave()が必要です.
>>> c2 = Category(name="브루드 커피", menu_id=1)
>>> c2
<Category: Category object (None)>  # save 안 해줘서 None으로 뜸
>>> c2.save()
>>> c2
<Category: Category object (2)>