summaryrefslogtreecommitdiff
path: root/chimere/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/admin.py')
-rw-r--r--chimere/admin.py9
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_'):]))