Gelöst: Hinzufügen vieler Instanzen zum verwandten Feld manytoamny django%5D

Das Hauptproblem beim Hinzufügen vieler Instanzen zu einem verwandten Feld besteht darin, dass es zu Leistungsproblemen kommen kann. Dies liegt daran, dass die Datenbank alle Instanzen verfolgen muss, was zu einer geringeren Leistung führen kann.

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

Viele-zu-viele-Beziehungen

Eine Viele-zu-Viele-Beziehung ist eine Art von Beziehung zwischen zwei Entitäten, bei der jede Entität mehrere Beziehungen mit der anderen haben kann. Zum Beispiel kann eine Person viele Freunde haben, und ein Freund kann viele Leute haben, mit denen er befreundet ist. In Django wird eine Viele-zu-Viele-Beziehung durch eine Modellinstanz mit zwei Feldern dargestellt: eines für die erste Entität und eines für die zweite Entität.

So fügen Sie einer ManyToMany-Beziehung mehrere Objekte hinzu

Um mehrere Objekte zu einer ManyToMany-Beziehung in Django hinzuzufügen, können Sie die add()-Methode für das many_to_many-Objekt verwenden. Um zum Beispiel einen Blogpost und einen Autor zu der Many_to_many-Beziehung des Blogposts in Django hinzuzufügen, würden Sie den folgenden Code verwenden:

blog.add(BlogPost.objects.create(title='Hinzufügen mehrerer Objekte zu einer ManyToMany-Beziehung', content=content)) author = Author.objects.create(name='John Doe')

Sie können auch die Methode join() für das Objekt many_to_many verwenden, um Objekte zu einem einzigen Resultset zu kombinieren:

blog.join(Autor)

Zusammenhängende Posts:

Hinterlasse einen Kommentar