この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2018-12-17 09:52:23

タイトル: SELECT, INSERT, UPDATE, DELETE
SEOタイトル: DjangoにおけるデータベースのSELECT, INSERT, UPDATE, DELETE

前提

・データベースの接続設定が済んでいること(まだの方はこちらを参照)

 

モデルの定義

from django.db import models
from datetime import datetime


class User(models.Model):

    user_name = models.CharField(primary_key=True, max_length=100)

    password = models.CharField(max_length=100)

    created_at = models.DateTimeField(default=datetime.now)

    class Meta:
        
        db_table = 'User'

 

SELECT処理

from django.views.generic import TemplateView
from test_app.models.user import User


class RegistView(TemplateView):

    def post(self, request, *args, **kwargs):

        users = User.objects.all().filter(user_name='aaa').order_by('created_at')

        context = {
            'users': users,
        }

        template_name = 'test_app/index.html'

        return render(request, template_name, context)

 

INSERT処理

from django.views.generic import TemplateView
from test_app.models.user import User


class RegistView(TemplateView):

    def post(self, request, *args, **kwargs):

        user_name = request.POST['user_name']
        password = request.POST['password']

        user = User(user_name=user_name, password=password)
        user.save()

        ...

 

UPDATE処理

from django.views.generic import TemplateView
from test_app.models.user import User


class RegistView(TemplateView):

    def post(self, request, *args, **kwargs):

        users = User.objects.all().filter(user_name='aaa').update(user_name='iii')

        ...

SELECTで一度取得してからカラムに値を入れて更新をかける

 


※他の処理に関しては随時追記予定