Python > データの操作

データの操作(CRUD:Create, Read, Update, Delete)

概要

データの作成

モデルインスタンス作成
entry = Entry()
各フィールドへの値の代入
entry.title = u'タイトル'
データの保存
entry.save()

データの抽出

全行抽出
rows = Entry.objects.all()
1の1行のみを抽出
row =Entry.objects.get( id = 1 )

データの更新

既存データを抽出
entry = Entry.objects.get( id = 1 )
更新フィールドの更新
entry.title = u'新しいタイトルです'
データの保存
entry.save()

データの削除

データを削除
entry.delete()

データ抽出

データ抽出はQuerySetオブジェクトのメソッドを介して行われる。

QuerySetオブジェクト
  • モデル名.objects で自動生成される
  • 検索結果リストとなる
  • QuerySetから再度メソッドを使い検索可能
QuerySet1 = Modelname .objects. Method ()
QuerySet2 = QuerySet1 . Method ()

代表的なメソッド

filter
条件を指定して検索。複数指定可能。
QuerySet = QuerySet .filter( フィールド名__条件種別=条件値, … )
条件種別 内容
フィールド名__ exact=値 完全一致
フィールド名__in=[値1,値2,…] 値リストのいずれかに一致
フィールド名__gt=値 値より大きい
フィールド名__gte=値 値以上
フィールド名__lt=値 値より小さい
フィールド名__lte=値 値以下
exclude
条件を指定して排他検索。構文はfilterメソッドと同様。
QuerySet = QuerySet .exclude( フィールド名__条件種別=条件値, … )
order_by
指定フィールドのソート。フィールド名にマイナスをつけると、降順ソート。
QuerySet = QuerySet .exclude( フィールド名1,フィールド名2,…)
get
単体のモデルオブジェクトの抽出
Modelname = QuerySet .get( 条件)

参考文献

  • Python入門 2&3対応 (株式会社エスキュービズム,細田謙二,オレンジ岸本,石井光次郎,石川建彦,岡田正彦, 2010, 秀和システム)
最終更新:2011年10月29日 18:16