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

كيف يمكنني حذف علاقة Many-to-Many دون التأثير على الكائنات في جانغو Django؟

Mohssen A Mohssen

السؤال

لدي النماذج User و Interest، النموذج User لديه علاقة Many-to-Many مع النموذج Interest (وهي عبارة عن models.ManyToManyField(Interest)).

أقوم بإنشاء نسخة من User يسمى my_user. وفي الحقل Interest، لديّ مجموعة Interests (اهتمامات) باسم my_interest، على النحو التالي:

>>> my_user.interests.all()
[my_interest, ...]

كيف يمكنني إزالة my_interest من my_user دون حذف أي من المستخدم my_user أو الاهتمامات my_interest من قاعدة البيانات؟ بمعنى آخر، كيف يمكنني إزالة العلاقة دون التأثير على النماذج نفسها لكي تبقى الكائنات موجودة؟

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

Recommended Posts

  • 1

الأمر بسيط أولا قم بجلب الكائن my_interest باستعمال الدالة get مثلاً:

my_interest = Interest.objects.get(id=my_interest_id)
#قمت بجلب الكائن باستعمال معرفه
#يمكنك جلبه بأي خاصية من خصائصه

بعدها احذف الرابطة بينه وبين my_user:

my_user.interests.remove(my_interest)
# ملاحظة:
#remove 
#تقوم بالفصل بين الكائنين ولا تقوم بحذف أي منهما

 

تم التعديل في بواسطة مسعود زاهي
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إذا كنت بحاجة إلى إزالة جميع مراجع M2M دون لمس الكائنات الأساسية، فمن الأسهل العمل من اتجاه آخر:

interest.mood_set.clear()

على الرغم من أن هذا لا يعالج سؤال OP بشكل مباشر، إلا أنه غالبًا ما يكون مفيدًا في هذه الحالة.

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...