diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-23 19:04:57 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-11-23 19:04:57 +0100 |
commit | 7cc593fd4db11fb0ad60ad7875022f6b497ada08 (patch) | |
tree | 7c1db5182f0f043c5789a0c56b32b71174ca8432 /chimere | |
parent | 52d57c4905444c52dff78120f0cea3e381e573c8 (diff) | |
download | Chimère-7cc593fd4db11fb0ad60ad7875022f6b497ada08.tar.bz2 Chimère-7cc593fd4db11fb0ad60ad7875022f6b497ada08.zip |
Fix category modification on amendment submission.
Diffstat (limited to 'chimere')
-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): |