Rešeno: dodajte veliko primerkov v sorodno polje manytoamny django%5D

Glavna težava, povezana z dodajanjem številnih primerkov v sorodno polje, je, da lahko povzroči težave z zmogljivostjo. To je zato, ker bo baza podatkov morala slediti vsem primerkom, kar lahko povzroči počasnejše delovanje.

%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 proti mnogo

Razmerje veliko proti mnogo je vrsta razmerja med dvema entitetama, kjer ima lahko vsaka entiteta več razmerij z drugo. Na primer, oseba ima lahko veliko prijateljev, prijatelj pa ima lahko veliko ljudi, s katerimi je prijatelj. V Djangu je razmerje veliko proti mnogo predstavljeno z instanco modela z dvema poljema: eno za prvo entiteto in eno za drugo entiteto.

Kako dodati več predmetov razmerju ManyToMany

Če želite razmerju ManyToMany v Djangu dodati več predmetov, lahko uporabite metodo add() na objektu many_to_many. Na primer, če želite v Django dodati objavo v spletnem dnevniku in avtorja v objavo v spletnem dnevniku razmerju many_to_many, uporabite naslednjo kodo:

blog.add(BlogPost.objects.create(title='Dodajanje več predmetov v razmerje ManyToMany', content=content)) author = Author.objects.create(name='John Doe')

Uporabite lahko tudi metodo join() na objektu many_to_many, da združite predmete v en sam niz rezultatov:

blog.join(avtor)

Podobni objav:

Pustite komentar