diff options
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/serializers.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/archaeological_finds/serializers.py b/archaeological_finds/serializers.py index 6e079f7ec..b697224fe 100644 --- a/archaeological_finds/serializers.py +++ b/archaeological_finds/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_finds import models @@ -41,7 +42,8 @@ def generate_warehouse_queryset(ids): def find_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): + find_queryset=None, warehouse_queryset=None, + get_queryset=False): result_queryset = {} if operation_queryset: operation_ids = operation_queryset.values_list("id", flat=True) @@ -56,12 +58,12 @@ def find_serialization(archive=False, return_empty_types=False, elif site_queryset: sites = site_queryset.values_list("id", flat=True) f_q = { - "base_finds__context_record__operation__archaeological_site_id__in": sites + "base_finds__context_record__operation__archaeological_sites__id__in": sites } result_queryset = { models.BaseFind.__name__: models.BaseFind.objects.filter( - context_record__operation__archaeological_site_id__in=sites + context_record__operation__archaeological_sites__id__in=sites ), models.Find.__name__: models.Find.objects.filter(**f_q), @@ -87,6 +89,9 @@ def find_serialization(archive=False, return_empty_types=False, 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(FIND_MODEL_LIST, "finds", result_queryset=result_queryset) full_archive = archive_serialization( |