Solucionat: afegiu moltes instàncies al camp relacionat manytoamny django%5D

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)

Articles Relacionats:

Deixa el teu comentari