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

السؤال

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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...