CRUD Operations
urls.py - /path/projectdir/theapp
path('raw-select', views.raw_select, name='raw_select'),
path('raw-update', views.raw_update, name='raw_update'),
path('raw-update', views.raw_update, name='raw_update'),
path('raw-delete', views.raw_delete, name='raw_delete'),
views.py - /path/projectdir/theapp -
Django CRUD
def raw_insert(request):
from django.db import connection, transaction
cursor = connection.cursor()
name = 'John'
email = 'john@gmail.com'
gender = 'Male'
age = 21
admission_date = '2023-05-06'
percent = 70.45
sql = "INSERT INTO students (name, email, gender, age, admission_date, percent) VALUES (%s, %s, %s, %s, %s, %s)"
transaction.commit()
cursor.execute(sql, (name, email, gender, age, admission_date, percent))
id = cursor.lastrowid
return HttpResponse('Inserted'+str(id))
def raw_select(request):
from django.db import connection
cursor = connection.cursor()
sql = "SELECT * FROM students m LIMIT 10"
cursor.execute(sql)
students = cursor.fetchall()
from django.http import JsonResponse
return JsonResponse({ 'json_students': students }, json_dumps_params={'indent': 4})
def raw_update(request):
from django.db import connection, transaction
cursor = connection.cursor()
old_name = 'John'
new_name = 'Peter'
sql = "UPDATE students SET name = %s WHERE name = %s"
transaction.commit()
cursor.execute(sql, (new_name, old_name))
return HttpResponse('Upadated')
def raw_delete(request):
from django.db import connection, transaction
cursor = connection.cursor()
name = 'John'
sql = "DELETE FROM students WHERE name = %s"
transaction.commit()
cursor.execute(sql, (name,))
return HttpResponse('Deleted')