diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-01-25 14:19:38 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-01-25 14:19:38 +0100 |
commit | 246e2b39b44fd80f2cc636e3a187f57fbe91a2a6 (patch) | |
tree | ffd248c1b8e36770a9d224fd218929676753e5e1 /archaeological_context_records | |
parent | 4cc5612d9c4626e23312f4830a6dde974bda0c41 (diff) | |
download | Ishtar-246e2b39b44fd80f2cc636e3a187f57fbe91a2a6.tar.bz2 Ishtar-246e2b39b44fd80f2cc636e3a187f57fbe91a2a6.zip |
Context records: fix post delete and post save of records relations
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/models.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 8cc10172f..59716be8b 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -284,22 +284,22 @@ class RecordRelations(models.Model): verbose_name_plural = _(u"Record relations") def save(self, *args, **kwargs): - obj = super(RelationType, self).save(*args, **kwargs) + super(RecordRelations, self).save(*args, **kwargs) # after saving create the symetric or the inverse relation - sym_rel_type = obj.relation_type - if not obj.relation_type.symmetrical: - sym_rel_type = obj.relation_type.inverse_relation + sym_rel_type = self.relation_type + if not self.relation_type.symmetrical: + sym_rel_type = self.relation_type.inverse_relation # no symetric/inverse is defined if not sym_rel_type: return dct = {'right_record':self.left_record, 'left_record':self.right_record, - 'relation_type':self.relation_type} + 'relation_type':sym_rel_type} RecordRelations.objects.get_or_create(**dct) - return obj + return self def post_delete_record_relation(sender, instance, **kwargs): # delete symmetrical or inverse relation @@ -311,8 +311,9 @@ def post_delete_record_relation(sender, instance, **kwargs): if not sym_rel_type: return - dct = {'right_record':self.left_record, 'left_record':self.right_record, - 'relation_type':self.relation_type} + dct = {'right_record':instance.left_record, + 'left_record':instance.right_record, + 'relation_type':sym_rel_type} RecordRelations.objects.filter(**dct).delete() post_delete.connect(post_delete_record_relation, sender=RecordRelations) |