اذهب إلى المحتوى
  • 1

كيفية حذف سجل معين في نموذج في جانغو Django؟

Amer Abdallah

السؤال

Recommended Posts

  • 0

يمكنك أن تقوم بحذف السجل بشكل مباشر عبر التابع delete بالشكل التالي:

User.objects.get(pk=1).delete()

في حالة كنت تريد تحديد السجل بناءً على حقل غير primary key فيمكنك أن تقوم بذلك كالتالي:

User.objects.get(likes=1).delete()

أو من خلال instance كالتالي:

row = User.objects.get(likes=1)
row.delete()

لاحظ أن الكود السابق سوف يقوم بإطلاق خطأ في حالة لم يتم إيجاد سجل بهذه القيمة، لذلك يمكنك أن تستخدم filter بدلًا من get، كالتالي:

User.objects.filter(pk=1).delete()
User.objects.filter(likes=1).delete()

بهذه الطريقة لن يحدث شيء في حالة لم يتم إيجاد أي سجل لحذفه.

وإن كنت تريد حذف جميع السجلات من الجدول، فيمكنك أن تقوم بالتالي:

users = User.objects.all()
users.delete()
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

كما شرح سامح في التعليق السابق أنه يمكنك أن تقوم بتنفيذ المطلوب من خلال delete سواء باستخدام get أو filter 

SomeModel.objects.get(pk=1).delete()
# أو
SomeModel.objects.filter(pk=1).delete()

# SQL المكافئ ل
# delete from table_name where id = 1;

ولكن إذا أردت تحديد عدة قيم لحذفها يمكنك استخدام التابع __in كما في المثال التالي

SomeModel.objects.fitler(pk__in=[1,2,3,4,5,...]).delete()

# SQL المكافئ ل
# delete from table_name where id in (1,2,4,5,...);

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...