さて、今回は「モデル」というものを作るらしい。
スポンサードリンク
基本はコピー&ペーストで
えー、何々・・
これから開発する簡単な poll アプリケーションでは、Question と Choice の2つのモデルを作成します。Poll には question と publication date の情報があります。 Choice には選択肢のテキストと vote という2つのフィールドがあります。各 Choice は1つの Question に関連づけられています・・・
・・・何を言ってるんだ。この文章は? とりあえず、polls/models.py を開いてみよう。
from django.db import models # Create your models here.
空だな・・ チュートリアルでは、QuestionクラスとChoiceクラスをここで定義しているようだ。そのままコピー&ペースト。
polls/models.py from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') class Choice(models.Model): question = models.ForeignKey(Question, on_delete=models.CASCADE) choice_text = models.CharField(max_length=200) votes = models.IntegerField(default=0)
何となくイメージがつかめてくる
冒頭の説明文に戻ってみよう。
・・・Poll には question と publication date の情報があります。
つまり、Pollアプリケーションには、question(質問文)とpublication(正解)に関するデータが必要ということか?
・・ああ、何となくイメージがつかめてきた。多分、後からユーザーが質問文と正解を登録していく形だな。Questionクラスは、その形を定義するためのクラス・・ということでいいのだろうか?
だったら、answerでいいような気もするが・・・publicationは、直訳すると「出版」だ。
・・・ Choice には選択肢のテキストと vote という2つのフィールドがあります。
Choiceクラスには、choice_textフィールドがある。多分、複数の回答例を表示して、ユーザーに選択させる感じか・・・
それからvotesフィールドだが、voteとは、直訳で「投票」だから、A~Dのどれに投票するか・・みたいなことをさせようとしているのだろうか?
公式のチュートリアルが分かりにくいのは、何を作ろうとしているのか分からないからだろう。最初に完成品を見た方が理解が早いかもしれない。
・・各 Choice は1つの Question に関連づけられています。
Choiceクラスには、questionフィールドがあり、Questionクラスと関連付けされる・・ ああ、questionフィールドに何か代入されているな。
question = models.ForeignKey(Question, on_delete=models.CASCADE)
「各Choiceは・・」ということだから、Choiceクラスは、インスタンスとして複製されるということ・・だろうか?
大丈夫か? これで・・
Python実践データ分析100本ノック下山 輝昌 (著), 松田 雄馬 (著), 三木 孝行 (著)
スポンサードリンク:Amazon
Comments are closed, but trackbacks and pingbacks are open.