From 4d415ef45d4af65d634a49d58f6ff682dbf39a85 Mon Sep 17 00:00:00 2001 From: Phivos Stylianides Date: Mon, 13 Mar 2017 01:09:05 +0100 Subject: [PATCH] Fix one-to-many field lookup to use model name --- django_mock_queries/query.py | 4 ++-- django_mock_queries/utils.py | 2 +- tests/test_mocks.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/django_mock_queries/query.py b/django_mock_queries/query.py index 530e34a..72f31a9 100644 --- a/django_mock_queries/query.py +++ b/django_mock_queries/query.py @@ -115,7 +115,7 @@ def aggregate(*args, **kwargs): expr_result = None for x in items: - val = get_attribute(x, expr.source_expressions[0].name, related_set_singular=True)[0] + val = get_attribute(x, expr.source_expressions[0].name)[0] if val is None: continue values.extend(val if is_list_like_iter(val) else [val]) @@ -246,7 +246,7 @@ def values(*fields): result_count = 1 for field in sorted(field_names, key=lambda k: k.count('__')): - value = get_attribute(item, field, related_set_singular=True)[0] + value = get_attribute(item, field)[0] if is_list_like_iter(value): value = flatten_list(value) diff --git a/django_mock_queries/utils.py b/django_mock_queries/utils.py index b284f16..7ba7846 100644 --- a/django_mock_queries/utils.py +++ b/django_mock_queries/utils.py @@ -21,7 +21,7 @@ def names(field): name = field.get_accessor_name() model_name = field.related_model._meta.model_name.lower() - if kwargs.get('related_set_singular', False) and name[-4:] == '_set': + if name[-4:] == '_set': return {model_name: name} else: return {name: name} diff --git a/tests/test_mocks.py b/tests/test_mocks.py index 7938f55..42901e4 100644 --- a/tests/test_mocks.py +++ b/tests/test_mocks.py @@ -353,7 +353,7 @@ def test_is_match_in_children(self): manufacturer.car_set.add(car) Manufacturer.objects.add(manufacturer) - car_manufacturers = Manufacturer.objects.filter(car_set=car) + car_manufacturers = Manufacturer.objects.filter(car=car) self.assertEqual([manufacturer], list(car_manufacturers))