猫爺

なんとかボールのなんとかさまが嫁に似ているので好きです。

Python Django3 超入門7

引き続き書籍の続きを進めていきます。

 1 XXX

XXXの部分はgithubのコミットメッセージに対応させるようにしますので見ている方がいればご参照ください

 

書籍

3-3 レコードの取得の基本とManager 

P165~173

 

実装

 1 データの取得から表示

data = クラス名.objects.all()

 上記の記述でテーブルの全データを取得

 

index.html側も取得したデータを表示するように編集

{% for item in data %}
    繰り返しの内容を記述
{% endfor %}

 このような処理も追加しておきます

{% if item.gender == False %}male{% endif %}
{% if item.gender == True %}female{% endif %}

値がFalseならMaleを表示すると簡単な処理ですね

 

 2 指定したIDのレコードを取り出す

入力できるフォームを用意する

html側でフォームを用意してあげる

 views.py

 IDで検索した結果をhtml側に返すように修正 

f:id:arctos_ysnr:20210729214904p:plain

この画面が

f:id:arctos_ysnr:20210729214911p:plain

こうなる

何だかそれっぽいことができてきましたね。

SQLiteのIDを指定して取り出すには

num=request.POST['id']
item = Friend.objects.get(id=num)

上記のような方法で条件付きの検索ができます。

SQL文を書かなくてもいいのは楽ですね

 

注意点

getで取り出したのはモデルのインスタンス一つだけです。

html側では繰り返し処理をして表示しているので

params['data'] = [item]

このように修正する

 

githubのコミットメッセージに

「指定したIDのレコードを取り出す」と入れておくので参照ください

 

  • 書籍

www.shuwasystem.co.jp

 

こちらの書籍を元に勉強を進めていこうと思います。

勉強できたことを掲載していきます。

 

github.com