Django
Django CRUD Basics
Create, Read, Update, Delete
Django CRUD Basics
CRUD stands for Create, Read, Update, Delete - the four basic operations for persistent storage. Django makes it easy to implement CRUD operations.
Create (POST)
Create new records:
from django.shortcuts import render, redirect
from .models import Person
from .forms import PersonForm
def create_person(request):
if request.method == 'POST':
form = PersonForm(request.POST)
if form.is_valid():
form.save()
return redirect('person_list')
else:
form = PersonForm()
return render(request, 'myapp/person_form.html', {'form': form})
Read (GET)
Read/retrieve records:
from .models import Person
def person_list(request):
people = Person.objects.all()
return render(request, 'myapp/person_list.html', {'people': people})
def person_detail(request, pk):
person = Person.objects.get(pk=pk)
return render(request, 'myapp/person_detail.html', {'person': person})
Update (PUT/PATCH)
Update existing records:
def update_person(request, pk):
person = Person.objects.get(pk=pk)
if request.method == 'POST':
form = PersonForm(request.POST, instance=person)
if form.is_valid():
form.save()
return redirect('person_detail', pk=person.pk)
else:
form = PersonForm(instance=person)
return render(request, 'myapp/person_form.html', {'form': form})
Delete (DELETE)
Delete records:
def delete_person(request, pk):
person = Person.objects.get(pk=pk)
if request.method == 'POST':
person.delete()
return redirect('person_list')
return render(request, 'myapp/person_confirm_delete.html', {'person': person})
Using Django Forms
Create forms in forms.py:
from django import forms
from .models import Person
class PersonForm(forms.ModelForm):
class Meta:
model = Person
fields = ['first_name', 'last_name', 'age', 'email']
Note: Always validate forms and use CSRF protection in production applications.