viewsで使えるモデルのメソッド
下記の基本的な操作でデータベースのCRUD(作成、読み取り、更新、削除)操作を簡単に行うことができます。
これらのメソッドを使うことで、Pythonのコードを書くだけでデータベースの操作が可能になり、SQLを直接扱う必要がなくなります。
※モデル名の頭文字は必ず大文字にすること
・全件取得
all()
モデル名.objects.all()
・1件のみ取得(idを取得するときによく使う)
get()
Blog.objects.get(id=1)
・オブジェクトがない場合の例外処理の書き方
try:
product = Product.objects.get(id=product_id)
except Product.DoesNotExist:
raise Http404
Product.DoesNotExist:
raise Http404
モデル名の後にDoesNotExistをつける。もしproductのオブジェクトがなければ
404のエラーを出すという意味
・並び替え
order_by()
モデル名.objects.order_by(カラム名) 昇順
モデル名.objects.order_by(-カラム名) 降順
・絞り込み
fillter()
モデル名.objects.filter(producer="ウメ")
・データの新規作成
create()
Blog.objects.create(title="My first blog", content="Hello, world!")
・データの保存
save()
モデルのインスタンス(データ)を変更して、その変更をデータベースに保存します。
blog = Blog.objects.get(id=1)
blog.title = "My updated title"
blog.save()
・データの更新
update()
条件に合う複数のデータを同時に更新します。
Blog.objects.filter(title__contains="Django").update(title="Updated title")
・1件削除
delete()
個別のデータに対しても、条件に合致する複数のデータに対しても使えます。
blog = Blog.objects.get(id=1)
blog.delete()
・全件削除filter()~delete()
Blog.objects.filter(title__contains="Django").delete()