جستجو برای:
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
 
  • 02128423771 - 08736212195
  • info@zarrinlearn.com
  • بلاگ
  • تماس با ما
  • درباره ما
سایت اموزشی زرین لرن
  • خانه
  • مهارت های کامپیوتر
    • شبکه
    • ابزار های مایکروسافت افیس
    • ویندوز
  • برنامه نویسی و طراحی سایت
    • کد نویسی سمت کاربر
    • کد نویسی سمت سرور
    • cms های آماده
  • برنامه نویسی
    • اندروید
    • #C
    • بازی سازی
    • جاوا
    • پایتون
  • سورس کد ها
    • پروژه آماده اندروید
    • پروژه اماده unity
    • پروژه آماده سی شارپ
    • پروژه آماده طراحی سایت
  • تماس با ما
  • درباره ما
0

ورود و ثبت نام

بلاگ

سایت اموزشی زرین لرنبلاگمقالاتDjangoمتد delete()

Djangoمتد delete()

29 آذر 1403
ارسال شده توسط سمیرا خانی
مقالات
158 بازدید

در جنگو (Django)، حذف داده‌ها از پایگاه داده معمولاً با استفاده از مدل‌های تعریف‌شده انجام می‌شود. برای حذف داده‌ها، می‌توانید از متد delete() استفاده کنید.

روش‌های حذف داده در Django:

1. حذف یک شیء خاص

برای حذف یک رکورد خاص، ابتدا باید شیء مورد نظر را دریافت کرده و سپس متد delete() را روی آن فراخوانی کنید.

نمونه:

from myapp.models import MyModel

# دریافت شیء

obj = MyModel.objects.get(id=1)

# حذف شیء

obj.delete()

توضیح:

  • در این مثال، رکوردی با id=1 دریافت شده و سپس حذف می‌شود.

2. حذف چندین شیء به‌صورت گروهی

برای حذف گروهی از رکوردها، می‌توانید از QuerySet استفاده کنید و متد delete() را مستقیماً فراخوانی کنید.

نمونه:

from myapp.models import MyModel

# حذف تمام رکوردهایی که فعال نیستند

MyModel.objects.filter(is_active=False).delete()

توضیح:

  • در این مثال، تمام رکوردهایی که مقدار is_active آن‌ها False است حذف می‌شوند.

3. حذف تمام داده‌ها از یک مدل

برای حذف تمامی رکوردهای موجود در یک مدل، از متد all() همراه با delete() استفاده کنید.

نمونه:

from myapp.models import MyModel

# حذف تمام رکوردها

MyModel.objects.all().delete()

نکات مهم:

  1. Cascade Delete: اگر مدل شما دارای روابط ForeignKey با دیگر مدل‌ها باشد، حذف یک رکورد می‌تواند به حذف خودکار رکوردهای مرتبط منجر شود. این رفتار به دلیل تنظیمات on_delete در تعریف ForeignKey رخ می‌دهد (مانند models.CASCADE).

نمونه:

class Author(models.Model):

name = models.CharField(max_length=100)

class Book(models.Model):

title = models.CharField(max_length=200)

author = models.ForeignKey(Author, on_delete=models.CASCADE)

در این مثال، اگر یک نویسنده حذف شود، تمام کتاب‌های مرتبط با آن نیز حذف خواهند شد.


  1. Signals برای حذف سفارشی: برای انجام عملیات خاص هنگام حذف داده‌ها، می‌توانید از سیگنال pre_delete یا post_delete استفاده کنید.

نمونه:

from django.db.models.signals import pre_delete

from django.dispatch import receiver

from myapp.models import MyModel

@receiver(pre_delete, sender=MyModel)

def before_delete_handler(sender, instance, **kwargs):

      print(f”About to delete: {instance}“)


در Django برای حذف داده‌ها از پایگاه داده، می‌توانید از متد delete() استفاده کنید. برای حذف یک شیء خاص، آن را دریافت کرده و حذف می‌کنید. همچنین امکان حذف گروهی رکوردها یا تمامی داده‌های یک مدل وجود دارد. در روابط بین مدل‌ها، تنظیم on_delete مشخص می‌کند که حذف یک رکورد چگونه روی داده‌های مرتبط تأثیر بگذارد. برای شخصی‌سازی عملیات حذف، می‌توانید از سیگنال‌ها استفاده کنید.

برچسب ها: Djangoمتد delete()،روش‌های حذف داده در Django،
در تلگرام
کانال ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

HTML Computer Code Elements
HTML Responsive Web Design
HTML Layout Elements and Techniques
HTML – The Head Element
HTML File Paths
HTML JavaScript

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • مقالات
نوشته‌های تازه
  • HTML Computer Code Elements
  • HTML Responsive Web Design
  • HTML Layout Elements and Techniques
  • HTML – The Head Element
  • HTML File Paths
درباره زرین لرن

ما برند زرین لرن را نامگذاری کردیم، زیرا برای ما بهترین علامت های تجاری ساده هستند. مارک ها رشد می کنند در توانایی آنها درک می شود.

  • کردستان - سقز - خیابان جمهوری - شرکت نو آوران زرین هور افزار
  • 08736212195
  • info@zarrinlearn.com
فهرست سفارشی
  • صفحه اصلی اول
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره ما
  • سبد خرید
  • فروشگاه

طراحی شده توسط گروه فنی مهندسی زریم هور

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت