Adding many to many fields (M2M) manually in django?
Frage
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?
Lösung
You can easily add relations to the ManyToManyField using the add()
function (outside of your update()
):
blog.entries.add(post_1, post_2 ...)
Andere Tipps
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.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow