解決済み: 関連フィールド 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() 

多対多の関係

多対多の関係は、各エンティティが他のエンティティと複数の関係を持つことができる XNUMX つのエンティティ間の関係の一種です。 たとえば、人には多くの友人がいる可能性があり、友人には友人である多くの人がいる可能性があります。 Django では、多対多の関係は、最初のエンティティ用と XNUMX 番目のエンティティ用の XNUMX つのフィールドを持つモデル インスタンスによって表されます。

複数のオブジェクトを ManyToMany 関係に追加する方法

Django で複数のオブジェクトを ManyToMany 関係に追加するには、many_to_many オブジェクトで add() メソッドを使用できます。 たとえば、Django でブログ投稿と著者をブログ投稿の many_to_many 関係に追加するには、次のコードを使用します。

blog.add(BlogPost.objects.create(title='多対多の関係に複数のオブジェクトを追加する', content=content)) author = Author.objects.create(name='John Doe')

many_to_many オブジェクトで join() メソッドを使用して、オブジェクトを単一の結果セットに結合することもできます。

blog.join(作者)

関連記事:

コメント