diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 15:32:22 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 15:33:13 +0200 |
commit | e0ab9856d23d8c204fde6676b208231236ec6e30 (patch) | |
tree | d0dd22cc3b923ca8a2270c121f5b94bdb19dd4c1 /archaeological_context_records/serializers.py | |
parent | 303a95a0cdbeb2d64b8a3fdf5143bcdbcec22270 (diff) | |
download | Ishtar-e0ab9856d23d8c204fde6676b208231236ec6e30.tar.bz2 Ishtar-e0ab9856d23d8c204fde6676b208231236ec6e30.zip |
Serializers: manage context records - uuid for context records
Diffstat (limited to 'archaeological_context_records/serializers.py')
-rw-r--r-- | archaeological_context_records/serializers.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/archaeological_context_records/serializers.py b/archaeological_context_records/serializers.py new file mode 100644 index 000000000..98f7d2226 --- /dev/null +++ b/archaeological_context_records/serializers.py @@ -0,0 +1,41 @@ +from ishtar_common.serializers import generic_get_results, archive_serialization +from archaeological_context_records import models + + +CR_MODEL_LIST = [ + models.Dating, models.ContextRecord, models.RecordRelations +] + +# TODO: associated documents + + +def cr_serialization(archive=False, return_empty_types=False, + archive_name=None, operation_queryset=None, + site_queryset=None, cr_queryset=None): + result_queryset = {} + """ + if operation_queryset: + result_queryset = { + models.ContextRecord.__name__: operation_queryset, + models.ArchaeologicalSite.__name__: + models.ArchaeologicalSite.objects.filter( + operations__id__in=operation_queryset.values_list( + "id", flat=True) + ) + } + elif site_queryset: + result_queryset = { + models.ArchaeologicalSite.__name__: site_queryset, + models.Operation.__name__: models.Operation.objects.filter( + archaeological_sites__id__in=site_queryset.values_list( + "id", flat=True)) + } + """ + + result = generic_get_results(CR_MODEL_LIST, "context_records", + result_queryset=result_queryset) + full_archive = archive_serialization( + result, archive_dir="operations", archive=archive, + return_empty_types=return_empty_types, archive_name=archive_name, + ) + return full_archive |