From 1bc05fe8c33817b7eb16f8fdc49407f23daa9af9 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Sat, 7 Sep 2019 18:48:54 +0200 Subject: Serialization: manage documenst (with filters) - refactoring --- archaeological_context_records/serializers.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'archaeological_context_records/serializers.py') diff --git a/archaeological_context_records/serializers.py b/archaeological_context_records/serializers.py index 351b906f4..d10d8fcd4 100644 --- a/archaeological_context_records/serializers.py +++ b/archaeological_context_records/serializers.py @@ -1,6 +1,7 @@ from django.db.models import Q -from ishtar_common.serializers import generic_get_results, archive_serialization +from ishtar_common.serializers_utils import generic_get_results, \ + archive_serialization from archaeological_context_records import models @@ -45,7 +46,7 @@ def generate_warehouse_queryset(ids): def cr_serialization(archive=False, return_empty_types=False, archive_name=None, operation_queryset=None, site_queryset=None, cr_queryset=None, find_queryset=None, - warehouse_queryset=None): + warehouse_queryset=None, get_queryset=False): result_queryset = {} if operation_queryset: operation_ids = operation_queryset.values_list("id", flat=True) @@ -64,11 +65,11 @@ def cr_serialization(archive=False, return_empty_types=False, result_queryset = { models.ContextRecord.__name__: models.ContextRecord.objects.filter( - archaeological_site_id__in=site_ids), + operation__archaeological_sites__id__in=site_ids), models.RecordRelations.__name__: models.RecordRelations.objects.filter( - left_record__archaeological_site_id__in=site_ids, - right_record__archaeological_site_id__in=site_ids, + left_record__operation__archaeological_sites__id__in=site_ids, + right_record__operation__archaeological_sites__id__in=site_ids, ) } elif cr_queryset: @@ -96,6 +97,8 @@ def cr_serialization(archive=False, return_empty_types=False, elif warehouse_queryset: warehouse_ids = warehouse_queryset.values_list("id", flat=True) result_queryset = generate_warehouse_queryset(warehouse_ids) + if get_queryset: + return result_queryset result = generic_get_results(CR_MODEL_LIST, "context_records", result_queryset=result_queryset) -- cgit v1.2.3