Terpecahkan: tambahkan banyak instance ke bidang terkait manytoamny django%5D

Masalah utama terkait penambahan banyak instance ke bidang terkait adalah hal itu dapat menyebabkan masalah kinerja. Ini karena database harus melacak semua instance, dan ini dapat menyebabkan kinerja yang lebih lambat.

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

Hubungan banyak ke banyak

Relasi banyak-ke-banyak adalah jenis relasi antara dua entitas di mana setiap entitas dapat memiliki banyak relasi dengan yang lain. Misalnya, seseorang dapat memiliki banyak teman, dan seorang teman dapat memiliki banyak orang yang berteman dengannya. Di Django, hubungan banyak-ke-banyak diwakili oleh contoh model yang memiliki dua bidang: satu untuk entitas pertama, dan satu untuk entitas kedua.

Bagaimana cara menambahkan beberapa objek ke hubungan ManyToMany

Untuk menambahkan banyak objek ke hubungan ManyToMany di Django, Anda dapat menggunakan metode add() pada objek many_to_many. Misalnya, untuk menambahkan kiriman blog dan penulis ke kiriman blog relasi many_to_many di Django, Anda akan menggunakan kode berikut:

blog.add(BlogPost.objects.create(title='Menambahkan Banyak Objek ke Hubungan ManyToMany', content=content)) author = Author.objects.create(name='John Doe')

Anda juga dapat menggunakan metode join() pada objek many_to_many untuk menggabungkan objek menjadi satu set hasil:

blog.join(penulis)

Pos terkait:

Tinggalkan Komentar