Django Tutorial Part 3 -- Choice 테이브르를 CRUD する
前提
https://docs.djangoproject.com/en/4.0/intro/tutorial02/#playing-with-the-api
Django Tutorial の Part2 シェルで遊ぼう編をやる
環境は作ってあって、질문 とそれに基づく Choice モデルがある状態
질문 テーブルと関連する 선택 テーブルのカラムを取得する
テーブルの中身の取り方を調べる
https://docs.djangoproject.com/en/4.0/topics/db/queries/
https://qiita.com/okoppe8/items/66a8747cf179a538355b#%EF%BC%91%E5%AF%BE%EF%BC%91%EF%BD%8E%E5%AF%BE%EF%BC%91%E3%81%AE%E9%96%A2%E4%BF%82
TableName.objects.get(columnName=value)
普通にテーブルのカラムを取得するときはこれで取れて
リレーショナルになっていて、子供テーブルがある場合は
.childTableName_set.all()
これで取れる.
親が1つで子供が複数の場合は
TableName.objects.select_related('childTableName').get(id=1)
こうやって取得するらしい.
実際に子供테이불を取得
>>> Question.objects.get(pk=1)
<Question: What's up?>
ModelName.objects.get で参照すると、前回 str で仕込んだので中身が見える.primary key が 1 の Question modelのレコードを確認できた.
>>> q = Question.objects.get(pk=1)
>>> q.choice_set.all()
<QuerySet []>
これを q という変数に入れる
q の中の子供테이불の中身を表示する
子供テーブルのレコードを作成
>>> q.choice_set.create(choice_text='Not much', votes=0)
<Choice: Not much>
>>> q.choice_set.all()
<QuerySet [<Choice: Not much>]>
childTableName_set.create(column_name=값)
これで中身を新たに作成できる
子供테이불の中身を数える
>>> q.choice_set.count()
1
子供テーブルは
parent.childrenTable_set.count ででーたの数を数えられる
子供テーブルの中身を検索して削除する
>>> c = q.choice_set.filter(choice_text__startswith='Not')
>>> c
<QuerySet [<Choice: Not much>]>
>>> c.delete()
(1, {'polls.Choice': 1})
>>> q.choice_set.all()
<QuerySet []>
>>>
.filter() で検索して、.delete() をする 이것으로 削除ができる
これで Tutorial に従って、子供テーブルの削除までの操作ができた.
まとめ
TableName.objects.get(columnName=value)
objects.get でテーブルの中のレコードを取得する ことができて
.childTableName_set.all()
_set.all でそのテーブルの中の子供テーーブルタチを取得できる
childTableName_set.create(column_name=value)
_set.create で子供テーブルの中身は作成できて
.filter で検索できて、.delete で削除できる.
次にやること
업데이트 を調べる
https://docs.djangoproject.com/en/4.0/intro/tutorial02/#introducing-the-django-admin
admin を作り、phpMyAdmin みたいなものを動作させる.
Reference
이 문제에 관하여(Django Tutorial Part 3 -- Choice 테이브르를 CRUD する), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kaede_io/django-tutorial-part-3-choice-teburuwo-crud-suru-14j
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
TableName.objects.get(columnName=value)
.childTableName_set.all()
TableName.objects.select_related('childTableName').get(id=1)
>>> Question.objects.get(pk=1)
<Question: What's up?>
>>> q = Question.objects.get(pk=1)
>>> q.choice_set.all()
<QuerySet []>
>>> q.choice_set.create(choice_text='Not much', votes=0)
<Choice: Not much>
>>> q.choice_set.all()
<QuerySet [<Choice: Not much>]>
>>> q.choice_set.count()
1
>>> c = q.choice_set.filter(choice_text__startswith='Not')
>>> c
<QuerySet [<Choice: Not much>]>
>>> c.delete()
(1, {'polls.Choice': 1})
>>> q.choice_set.all()
<QuerySet []>
>>>
TableName.objects.get(columnName=value)
.childTableName_set.all()
childTableName_set.create(column_name=value)
Reference
이 문제에 관하여(Django Tutorial Part 3 -- Choice 테이브르를 CRUD する), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/django-tutorial-part-3-choice-teburuwo-crud-suru-14j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)