تم الحل: إضافة العديد من الأمثلة إلى الحقل المرتبط manytoamny django٪ 5D

تتمثل المشكلة الرئيسية المتعلقة بإضافة العديد من الحالات إلى حقل ذي صلة في أنه يمكن أن يتسبب في حدوث مشكلات في الأداء. هذا لأنه سيتعين على قاعدة البيانات تتبع جميع المثيلات ، وقد يؤدي ذلك إلى أداء أبطأ.

%5B%5D=1&django%5D%5B%5D=2&django%5D%5B%5D=3

I have a model with a many to many relationship:
<code>class MyModel(models.Model):
    related_field = models.ManyToManyField(RelatedModel)
</code>
In the admin interface, I can add multiple instances of <code>RelatedModel</code> to <code>related_field</code>.  How can I do this in code?  The following doesn't work:
<code>mymodel = MyModel()
mymodel.related_field = [1, 2, 3] # doesn't work!  only adds 1 instance of RelatedModel to related_field.  
mymodel.save() # only saves one instance of RelatedModel in related_field!  
</code>


A:

    mymodel = MyModel()     mymodel.save()     mymodel.related_field = [1, 2, 3]     mymodel.save() 

علاقات كثير إلى كثير

علاقة أطراف بأطراف هي نوع من العلاقة بين كيانين حيث يمكن لكل كيان أن يكون له علاقات متعددة مع الآخر. على سبيل المثال ، يمكن لأي شخص أن يكون لديه العديد من الأصدقاء ، ويمكن أن يكون للصديق العديد من الأصدقاء الذين تربطهم صداقة. في Django ، يتم تمثيل علاقة أطراف بأطراف بمثيل نموذج به حقلين: أحدهما للكيان الأول والآخر للكيان الثاني.

كيفية إضافة كائنات متعددة إلى علاقة ManyToMany

لإضافة كائنات متعددة إلى علاقة ManyToMany في Django ، يمكنك استخدام طريقة add () على كائن many_to_many. على سبيل المثال ، لإضافة منشور مدونة ومؤلف إلى منشور المدونة بعلاقة كثيرة في Django ، يمكنك استخدام الكود التالي:

blog.add (BlogPost.objects.create (العنوان = 'إضافة كائنات متعددة إلى علاقة ManyToMany' ، المحتوى = محتوى)) المؤلف = Author.objects.create (name = 'John Doe')

يمكنك أيضًا استخدام التابع Join () في كائن many_to_many لدمج الكائنات في مجموعة نتائج واحدة:

blog.join (الكاتب)

الوظائف ذات الصلة:

اترك تعليق