Amer Abdallah نشر 1 سبتمبر 2021 أرسل تقرير نشر 1 سبتمبر 2021 اريد حذف سجل معين. مثل تنفيذ جملة SQL هذه: DELETE from ssers where id = 1; كيف يمكنني القيام بذلك في نموذج جانغو Django؟ 1 اقتباس
0 سامح أشرف نشر 1 سبتمبر 2021 أرسل تقرير نشر 1 سبتمبر 2021 يمكنك أن تقوم بحذف السجل بشكل مباشر عبر التابع 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() 1 اقتباس
0 عبدالباسط ابراهيم نشر 1 سبتمبر 2021 أرسل تقرير نشر 1 سبتمبر 2021 كما شرح سامح في التعليق السابق أنه يمكنك أن تقوم بتنفيذ المطلوب من خلال 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,...); 1 اقتباس
السؤال
Amer Abdallah
اريد حذف سجل معين. مثل تنفيذ جملة SQL هذه:
كيف يمكنني القيام بذلك في نموذج جانغو Django؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.