summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/tests.py12
-rw-r--r--ishtar_common/models.py9
2 files changed, 15 insertions, 6 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index d8399eedb..86eb2dfe7 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -578,8 +578,7 @@ class OperationTest(TestCase, OperationInitTest):
{'operator': self.orgas[0].pk})
self.assertTrue(json.loads(response.content)['total'] == 2)
- def testRelatedSearch(self):
- c = Client()
+ def create_relations(self):
rel1 = models.RelationType.objects.create(
symmetrical=True, label='Include', txt_idx='include')
rel2 = models.RelationType.objects.create(
@@ -589,6 +588,11 @@ class OperationTest(TestCase, OperationInitTest):
left_record=self.operations[0],
right_record=self.operations[1],
relation_type=rel1)
+ return rel1, rel2
+
+ def testRelatedSearch(self):
+ c = Client()
+ rel1, rel2 = self.create_relations()
self.operations[1].year = 2011
self.operations[1].save()
search = {'year': '2010', 'relation_types_0': rel2.pk}
@@ -599,6 +603,10 @@ class OperationTest(TestCase, OperationInitTest):
response = c.get(reverse('get-operation'), search)
self.assertTrue(json.loads(response.content)['total'] == 2)
+ def testRelations(self):
+ self.create_relations()
+ self.operations[0].delete()
+
def testOwnSearch(self):
c = Client()
response = c.get(reverse('get-operation'), {'year': '2010'})
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index d58d549c8..0bc0a607d 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -959,11 +959,12 @@ def post_delete_record_relation(sender, instance, **kwargs):
# no symetric/inverse is defined
if not sym_rel_type:
return
-
- dct = {'right_record': instance.left_record,
- 'left_record': instance.right_record,
+ dct = {'right_record_id': instance.left_record_id,
+ 'left_record_id': instance.right_record_id,
'relation_type': sym_rel_type}
- instance.__class__.objects.filter(**dct).delete()
+ q = instance.__class__.objects.filter(**dct)
+ if q.count():
+ q.delete()
class ShortMenuItem(object):