Based on the Django doc, I should be able to pass multiple objects at once to be added to a manytomany relationship but I get a
* TypeError: unhashable type: 'list'
when I try to pass a django queryset casted in a list. Passing a Queryset or a ValuesListQueryset seems to fail also. Is there a better way than use a for loop ?
Use: object.m2mfield.add(*items)
as described in the documentation:
add()
accepts an arbitrary number of arguments, not a list of them.
add(obj1, obj2, obj3, ...)
To expand that list into arguments, use *
add(*[obj1, obj2, obj3])
Django does not call obj.save()
for each item but uses bulk_create()
, instead.