トッカンソフトウェア

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


			





ページのトップへ戻る