データの操作(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