已解决:将许多实例添加到相关字段 manytoamny django%5D

最后更新: 09/11/2023

将许多实例添加到相关字段的主要问题是它会导致性能问题。 这是因为数据库必须跟踪所有实例,这会导致性能下降。

%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 中,多对多关系由具有两个字段的模型实例表示:一个用于第一个实体,一个用于第二个实体。

如何将多个对象添加到多对多关系

要在 Django 中将多个对象添加到 ManyToMany 关系中,您可以在 many_to_many 对象上使用 add() 方法。 例如,要在 Django 中将博客文章和作者添加到博客文章的多对多关系中,您将使用以下代码:

blog.add(BlogPost.objects.create(title='Adding Multiple Objects to a ManyToMany Relationship', content=content)) author = Author.objects.create(name='John Doe')

您还可以在 many_to_many 对象上使用 join() 方法将对象组​​合成一个结果集:

blog.join(作者)

相关文章: