Rozwiązany: dodaj wiele instancji do powiązanego pola manytoamny django% 5D

Głównym problemem związanym z dodawaniem wielu instancji do powiązanego pola jest to, że może to powodować problemy z wydajnością. Wynika to z faktu, że baza danych będzie musiała śledzić wszystkie instancje, co może prowadzić do zmniejszenia wydajności.

%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() 

Relacje wiele do wielu

Relacja wiele-do-wielu jest rodzajem relacji między dwiema jednostkami, w której każda jednostka może mieć wiele relacji z drugą. Na przykład osoba może mieć wielu przyjaciół, a przyjaciel może mieć wiele osób, z którymi się przyjaźni. W Django relacja wiele-do-wielu jest reprezentowana przez instancję modelu posiadającą dwa pola: jedno dla pierwszej encji i jedno dla drugiej encji.

Jak dodać wiele obiektów do relacji ManyToMany

Aby dodać wiele obiektów do relacji ManyToMany w Django, możesz użyć metody add() na obiekcie many_to_many. Na przykład, aby dodać wpis na blogu i autora do relacji wiele_do_wielu wpisów na blogu w Django, użyjesz następującego kodu:

blog.add(BlogPost.objects.create(title='Dodawanie wielu obiektów do relacji ManyToMany', content=content)) autor = Author.objects.create(name='John Doe')

Możesz także użyć metody join() na obiekcie many_to_many, aby połączyć obiekty w jeden zestaw wyników:

blog.dołącz(autor)

Powiązane posty:

Zostaw komentarz