diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-07 18:48:54 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-07 18:48:54 +0200 |
commit | 041ac7922da55ad24f8d324f076aef07400a1ef5 (patch) | |
tree | fb6373f59ae98764019d7ec7ff964d6c60dacd83 /archaeological_finds/serializers.py | |
parent | 4e0707fe6b8444dce65bdb7b5ee9401e53cf0de8 (diff) | |
download | Ishtar-041ac7922da55ad24f8d324f076aef07400a1ef5.tar.bz2 Ishtar-041ac7922da55ad24f8d324f076aef07400a1ef5.zip |
Serialization: manage documenst (with filters) - refactoring
Diffstat (limited to 'archaeological_finds/serializers.py')
-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( |