
Principala problemă legată de adăugarea multor instanțe la un câmp asociat este că poate cauza probleme de performanță. Acest lucru se datorează faptului că baza de date va trebui să țină evidența tuturor instanțelor, iar acest lucru poate duce la o performanță mai lentă.
%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()
Relații de la multe la multe
O relație multi-la-mulți este un tip de relație între două entități în care fiecare entitate poate avea relații multiple cu cealaltă. De exemplu, o persoană poate avea mulți prieteni, iar un prieten poate avea mulți oameni cu care sunt prieteni. În Django, o relație multi-la-mulți este reprezentată de o instanță de model având două câmpuri: unul pentru prima entitate și unul pentru a doua entitate.
Cum să adăugați mai multe obiecte la relația ManyToMany
Pentru a adăuga mai multe obiecte la o relație ManyToMany în Django, puteți utiliza metoda add() pe obiectul many_to_many. De exemplu, pentru a adăuga o postare de blog și un autor la relația many_to_many din postarea de blog în Django, ați folosi următorul cod:
blog.add(BlogPost.objects.create(title='Adăugarea mai multor obiecte la o relație ManyToMany', content=conținut)) autor = Author.objects.create(name='John Doe')
De asemenea, puteți utiliza metoda join() pe obiectul many_to_many pentru a combina obiecte într-un singur set de rezultate:
blog.join(autor)