El principal problema relacionat amb afegir moltes instàncies a un camp relacionat és que pot causar problemes de rendiment. Això es deu al fet que la base de dades haurà de fer un seguiment de totes les instàncies, i això pot provocar un rendiment més 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()
Relacions de molts a molts
Una relació de molts a molts és un tipus de relació entre dues entitats on cada entitat pot tenir múltiples relacions amb l'altra. Per exemple, una persona pot tenir molts amics i un amic pot tenir moltes persones amb qui són amics. A Django, una relació de molts a molts està representada per una instància model que té dos camps: un per a la primera entitat i un altre per a la segona entitat.
Com afegir diversos objectes a la relació ManyToMany
Per afegir diversos objectes a una relació ManyToMany a Django, podeu utilitzar el mètode add() a l'objecte many_to_many. Per exemple, per afegir una publicació de bloc i un autor a la relació many_to_many a Django, utilitzareu el codi següent:
blog.add(BlogPost.objects.create(title='Afegir diversos objectes a una relació ManyToMany', content=content)) autor = Author.objects.create(name='John Doe')
També podeu utilitzar el mètode join() a l'objecte many_to_many per combinar objectes en un únic conjunt de resultats:
blog.join(autor)