মডিউল ৬-৬ঃ ফ্রন্ট-এ্যান্ড থেকে মডেল ডাটা ডিলিট করা
এই মডিউলে দেখব ফ্রন্ট-এন্ড থেকে কিভাবে জ্যাংগো মডেলের ডেটা ডিলিট করা যায়। আসলে দেখব Student মডেলের কোনো স্পেসিফিক রেকর্ড কিভাবে ডিলিট করা যায় ।
শুরুতেই first_app/templates/home.html ফাইলের টেবিলে নতুন একটি কলাম এ্যাড করি-

৩৫ নং লাইনে 'delete_student' নামে একটি URL <a> ট্যাগে এ্যাড করেছি । URL টিতে st.roll কে প্যারামিটার হিসেবে পাঠানো হয়েছে। URL টি first_app/urls.py ফাইলের URL প্যাটার্নে এ্যাড করে ফেলি-
Code:: 6.6.1 first_app/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('home/', views.home, name="homepage"),
path('delete/<int:roll>', views.delete_student, name="delete_student"),
]
৫ নং লাইনে এ্যাড করা URL প্যাটার্ন খেয়াল করলে দেখতে পাবেন এখানে 'delete/' এর পর একটি int প্যারামিটার পাঠানো হয়েছে ।
প্যাটার্নে views.delete_student ফাংশন কল করা হয়েছে, সুতরাং delete_student( ) ফাংশনে HTTP request ছাড়াও আরো একটি প্যারামিটার (roll) নিতে হবে-
Code:: 6.6.2 first_app/views.py
from django.shortcuts import render, redirect
from . import models
# Create your views here.
def home(request):
student = models.Student.objects.all()
return render(request,"home.html", {'data': student})
def delete_student(request, roll):
std = models.Student.objects.get(pk = roll).delete()
return redirect("homepage")
৯ নং লাইনে objects.get() ফাংশনে প্রাইমারি key এর ভ্যালু হিসেবে 'roll' পাঠিয়ে Student মডেলের নির্দিষ্ট একটা রেকর্ড সিলেক্ট করেছি, তারপর সেই রেকর্ডের জন্য delete() ফাংশন কল করে নির্দিষ্ট সেই রেকর্ড ডিলিট করেছি।
১০ নং লাইনে 'homepage' নামক URL প্যাটার্নে , অর্থ্যাৎ, 'home/' URL -এ রিডিরেক্ট করা হয়েছে।
প্রজেক্টটি রান করে , আমরা যে রেকর্ডটি ডিলিট করতে চাই তার পাশের Delete বাটনে ক্লিক করলে দেখতে পাব রেকর্ডটি আসলেও ডিলিট হয়ে গেছে !


Last updated