diff options
Diffstat (limited to 'chimere/admin.py')
-rw-r--r-- | chimere/admin.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index ff689af..4e175aa 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -118,8 +118,13 @@ def managed_modified(modeladmin, request, queryset): if not request.POST[k]: continue if hasattr(it_ref, k): - setattr(it_ref, k, getattr(it, k)) - it_ref.save() + c_value = getattr(it_ref, k) + if hasattr(c_value, 'select_related'): + c_value.clear() + for val in getattr(it, k).all(): + c_value.add(val) + else: + it_ref.save() elif k.startswith('property_'): try: pm = PropertyModel.get(pk=int(k[len('property_'):])) |