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()