3

I have a M2M field in my django model project. In my view I want to update a model instance with update() function. I know that for updating other ordinary fields we can pass a dictionary of the fields. But how can I pass M2M field to update() function?

Arya Mz
  • 581
  • 3
  • 7
  • 20

2 Answers2

5

You can easily add relations to the ManyToManyField using the add() function (outside of your update()):

blog.entries.add(post_1, post_2 ...)
Timmy O'Mahony
  • 53,000
  • 18
  • 155
  • 177
0

updating manytomany field you need to get instance of the sub class then apply update function.

class y:

 b = Text Field

class X:

 y = ManyToMany(y)

Code:

for y in x.y.all():
    if y: meet you condition for which row to update
       y.update(b='update')

I guess django does know support update() with M2M as it just create associate table for support and it can't understand which row in associate table to update.

DaveShaw
  • 52,123
  • 16
  • 112
  • 141