Resolvido: adicione muitas instâncias ao campo relacionado manytoamny django% 5D

O principal problema relacionado à adição de muitas instâncias a um campo relacionado é que isso pode causar problemas de desempenho. Isso ocorre porque o banco de dados terá que acompanhar todas as instâncias e isso pode levar a um desempenho mais lento.

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

Relacionamentos muitos-para-muitos

Um relacionamento muitos-para-muitos é um tipo de relacionamento entre duas entidades em que cada entidade pode ter vários relacionamentos com a outra. Por exemplo, uma pessoa pode ter muitos amigos e um amigo pode ter muitas pessoas de quem é amigo. No Django, um relacionamento muitos-para-muitos é representado por uma instância de modelo com dois campos: um para a primeira entidade e outro para a segunda entidade.

Como adicionar vários objetos ao relacionamento ManyToMany

Para adicionar vários objetos a um relacionamento ManyToMany no Django, você pode usar o método add() no objeto many_to_many. Por exemplo, para adicionar uma postagem de blog e um autor ao relacionamento many_to_many da postagem de blog no Django, você usaria o seguinte código:

blog.add(BlogPost.objects.create(title='Adicionando vários objetos a um relacionamento ManyToMany', content=content)) author = Author.objects.create(name='John Doe')

Você também pode usar o método join() no objeto many_to_many para combinar objetos em um único conjunto de resultados:

blog.join(autor)

Artigos relacionados:

Deixe um comentário