Djangoのチュートリアルを進めていたところ、以下のような記述が出てきました。
1 2 3 4 5 6 7 8 9 10 11 12 |
<h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} <form action="{% url 'polls:vote' question.id %}" method="post"> {% csrf_token %} {% for choice in question.choice_set.all %} <input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}" /> <label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br /> {% endfor %} <input type="submit" value="Vote" /> </form> |
このquestion.choice_set.allの部分がパッと見て何なのか分からなかったのですが、これはQuestionテーブルが外部参照しているChoiceテーブルのデータ、という意味のようです。
(テーブル1).(テーブル2)_setのようなイメージですね。
テーブル1に定義されている外部キーに紐付いているテーブル2のような関係。
知らない言語やフレームワークを学ぶと、さも当たり前のように独自の記法が出てくるので、日々勉強ですね…!