djangoってなんぞや?
Django(ジャンゴ)は、Pythonで書かれたオープンソースのWebアプリケーションフレームワーク。
ウェブ開発を効率化し、生産性を高めるために設計されているらしい。
データベースの操作、URLルーティング、テンプレートエンジン、フォーム処理、認証、セキュリティなど、多くの一般的なWeb開発のタスクを簡素化し、シンプルで比較的少ないコードで実装できる。
djangoのQuerySetについて
データベースからデータを取得、操作、フィルタリングするための強力なインターフェース。
QuerySetは、djangoのモデルに対して行われるデータベースクエリのセットを表す。SQLを書かなくても便利な標準関数でDB操作が可能なものみたいな?
djangoのfilter()って?
djangoのQuerySetの1つ。
指定された条件に基づいて、データをフィルタリングする。
はいということで書き方。
sample.py
Model.objects.filter(name="John")
クソ簡単。
これで名前が「John」をDBから取りたい放題。
複数条件ある場合は?
AND条件
sample.py
person = Model.objects.filter(name="John", age=40)
最初にヒットしたレコードをfilter()を使用して取得する例
person = Model.objects.filter(name='John', age=40).first()
print(person.name, person.age)
出力結果
john 40
条件にヒットする全てのデータを取得する例
person = Model.objects.filter(name='John', age=40).all()
シンプル〜!
カンマ区切りでカラム名指定してあげるだけでANDになるらしい。
OR条件
sample.py
from django.db.models import Q
persons = Model.objects.filter(Q(name='John') | Q(age=40)).all()
for person in persons:
print(person.name)
importするQがあるがそれを使用するみたいだ。
クソ簡単だな。
まとめ
死ぬほど楽にDBを扱える。