タイトル: SELECT, INSERT, UPDATE, DELETE
SEOタイトル: DjangoにおけるデータベースのSELECT, INSERT, UPDATE, DELETE
前提
・データベースの接続設定が済んでいること(まだの方はこちらを参照)
モデルの定義
from django.db import models
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: |
SELECT処理
from django.views.generic import TemplateView
def post(self, request, *args, **kwargs): users = User.objects.all().filter(user_name='aaa').order_by('created_at') context = { template_name = 'test_app/index.html' return render(request, template_name, context) |
INSERT処理
from django.views.generic import TemplateView
def post(self, request, *args, **kwargs): user_name = request.POST['user_name'] user = User(user_name=user_name, password=password) ... |
UPDATE処理
from django.views.generic import TemplateView
def post(self, request, *args, **kwargs): users = User.objects.all().filter(user_name='aaa').update(user_name='iii') ... |
SELECTで一度取得してからカラムに値を入れて更新をかける
UPDATE or INSERT処理
条件に当てはまるレコードがあればUPDATE, 存在しなければINSERT。
from django.views.generic import TemplateView
def post(self, request, *args, **kwargs): users = User.objects.update_or_create( ... |
まずは条件を記載してdefaultsで更新する値を指定する。