diff options
-rw-r--r-- | chimere/admin.py | 9 | ||||
-rw-r--r-- | chimere/models.py | 2 |
2 files changed, 7 insertions, 4 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_'):])) diff --git a/chimere/models.py b/chimere/models.py index 76e6821..8420255 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -1104,8 +1104,6 @@ class SimpleArea: # set union behave strangely. Doing it manualy... for c in set(SubCategory.objects.raw(sql)): subcats.add(c) - #if c not in subcats: - # new_subcats.append(c) return subcats class Layer(models.Model): |