Python Django DB関連2
前回はDjangoを使ってDBにアクセスしてみたので、今回はDBの SELECT、INSERT、UPDATE、DELETE をやってみます。前回の続きからやるので、前回を先に見て下さい。
INSERT
INSERTはオブジェクトを作ってsaveメソッドを実行します。主キーを指定していない場合、idが主キーとして追加され、INSERT時にカウントアップします。
from django.http import HttpResponse
from hello.models import Tbl
from datetime import datetime
def index(request):
t = Tbl()
t.txt1 = "test"
t.int1 = 10
t.dt1 = datetime.now()
t.save()
return HttpResponse("Save:" +str(t.id))
実行イメージ
データ確認
SELECT
SELECTは クラス.objects.all()メソッドで全データを取得し、 クラス.objects.filter()メソッドで条件を付けてデータを取得します。
from django.http import HttpResponse
from hello.models import Tbl
from datetime import datetime
def index(request):
tbls = Tbl.objects.all()
s = ""
for t in tbls:
s += "<br />"
s += str(t.id)
s += ":"
s += t.txt1
s += ":"
s += str(t.int1)
s += ":"
s += str(t.dt1)
return HttpResponse("data:" + s)
実行イメージ
条件を付ける場合は、以下のように書きます。
tbls = Tbl.objects.filter(int1=10)
UPDATE
UPDATEはSELECTで取得したオブジェクトを書き換えて、saveメソッドを呼びます。
from django.http import HttpResponse
from hello.models import Tbl
def index(request):
tbls = Tbl.objects.filter(int1=10)
for t in tbls:
t.int1 = 10
t.save()
return HttpResponse("UPDATE")
DELETE
DELETEはSELECTで取得したオブジェクトで、deleteメソッドを呼びます。
from django.http import HttpResponse
from hello.models import Tbl
def index(request):
tbls = Tbl.objects.filter(id=1)
for t in tbls:
t.delete()
return HttpResponse("DELETE")
ページのトップへ戻る