0
2

【Django】django filter()の使い方

Last updated at Posted at 2024-02-16

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を扱える。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2