TECH I.S.

Django QuerySet


Django クエリセット

クエリセットは、データベースからのデータコレクションです。

クエリセットは、オブジェクトのリストとして構築されます。

クエリセットを使用すると、早い段階でデータをフィルタリングして並べ替えることができるため、実際に必要なデータを簡単に取得できます。

このチュートリアルでは、Memberテーブル。

Member:
ID 電話 結合日
1 Emil Refsnes 5551234 2022-01-05
2 Tobias Refsnes 5557777 2022-04-01
3 Linus Refsnes 5554321 2021-12-24
4 Lene Refsnes 5551234 2021-05-01
5 Stalikken Refsnes 5559876 2022-09-29


クエリデータ

views.pyでは、testingと呼ばれるテスト用のビューがあり、様々なクエリをテストします。

以下の例では、.all()メソッドを使用して、Memberモデルのすべてのレコードとフィールドを取得します。

ビュー

views.py:
from django.http import HttpResponse from django.template import loader from .models import Member def testing(request): mydata = Member.objects.all() template = loader.get_template('template.html') context = { 'mymembers': mydata, } return HttpResponse(template.render(context, request))

このオブジェクトはmydataという変数に入れられ、mymembersとしてcontextオブジェクトを経由してテンプレートに送られます。

<QuerySet [
  <Member: Member object (1)>,
  <Member: Member object (2)>,
  <Member: Member object (3)>,
  <Member: Member object (4)>,
  <Member: Member object (5)>
]>

ご覧のようにMemberモデルには 5 つのレコードが含まれ、クエリセット内に5つのオブジェクトとしてリストされています。

テンプレートでは、mymembersオブジェクトを使ってコンテンツを生成することができます。

テンプレート

templates/template.html:
<table border='1'> <tr> <th>ID</th> <th>Firstname</th> <th>Lastname</th> </tr> {% for x in mymembers %} <tr> <td>{{ x.id }}</td> <td>{{ x.firstname }}</td> <td>{{ x.lastname }}</td> </tr> {% endfor %} </table>

実行例 »



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細