Решено: добавить много экземпляров в связанное поле manytoamny django%5D

Основная проблема, связанная с добавлением множества экземпляров в связанное поле, заключается в том, что это может вызвать проблемы с производительностью. Это связано с тем, что базе данных придется отслеживать все экземпляры, а это может привести к снижению производительности.

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

Отношения многие-ко-многим

Отношение «многие ко многим» — это тип отношения между двумя объектами, при котором каждый объект может иметь несколько отношений с другим. Например, у человека может быть много друзей, а у друга может быть много друзей, с которыми он дружит. В Django отношение «многие ко многим» представлено экземпляром модели, имеющим два поля: одно для первого объекта и одно для второго объекта.

Как добавить несколько объектов в отношение ManyToMany

Чтобы добавить несколько объектов в отношение ManyToMany в Django, вы можете использовать метод add() для объекта many_to_many. Например, чтобы добавить сообщение в блоге и автора к отношениям «многие_ко_многим» в сообщении блога в Django, вы должны использовать следующий код:

blog.add(BlogPost.objects.create(title='Добавление нескольких объектов в отношение ManyToMany', content=content)) author = Author.objects.create(name='John Doe')

Вы также можете использовать метод join() для объекта many_to_many, чтобы объединить объекты в один результирующий набор:

blog.join(автор)

Похожие посты:

Оставьте комментарий