נפתרה: הוסף מופעים רבים לשדה קשור 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. לדוגמה, כדי להוסיף פוסט בבלוג ומחבר ליחסים רבים_to_many בבלוג ב-Django, תשתמש בקוד הבא:

blog.add(BlogPost.objects.create(title='הוספת אובייקטים מרובים ליחסים רבים-כ-רבים', content=content)) author = Author.objects.create(name='John Doe')

אתה יכול גם להשתמש בשיטת join() באובייקט many_to_many כדי לשלב אובייקטים לקבוצת תוצאות אחת:

blog.join(author)

הודעות קשורות:

השאירו תגובה