Riješeno: dodati mnogo instanci u povezano polje manytoamny django%5D

Glavni problem vezan za dodavanje mnogih instanci u povezano polje je taj što to može uzrokovati probleme s performansama. To je zato što će baza podataka morati da prati sve instance, a to može dovesti do sporije performanse.

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

Odnosi mnogo-na-mnogo

Odnos više-prema-više je vrsta odnosa između dva entiteta gdje svaki entitet može imati višestruke odnose s drugim. Na primjer, osoba može imati mnogo prijatelja, a prijatelj može imati mnogo ljudi s kojima su prijatelji. U Djangu, odnos mnogo-prema-mnogo je predstavljen instancom modela koja ima dva polja: jedno za prvi entitet i jedno za drugi entitet.

Kako dodati više objekata u odnos ManyToMany

Da biste dodali više objekata u odnos ManyToMany u Djangu, možete koristiti metodu add() na objektu many_to_many. Na primjer, da dodate post na blogu i autora u odnos mnogo_prema_mnogo u Djangu, koristite sljedeći kod:

blog.add(BlogPost.objects.create(title='Dodavanje više objekata u vezu ManyToMany', content=content)) author = Author.objects.create(name='John Doe')

Također možete koristiti metodu join() na objektu many_to_many da kombinujete objekte u jedan skup rezultata:

blog.join (autor)

Slični postovi:

Ostavite komentar