summaryrefslogtreecommitdiff
path: root/archaeological_context_records/serializers.py
diff options
context:
space:
mode:
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
commite75781247b085311d75ba380ead2b523b8dba097 (patch)
treed0dd22cc3b923ca8a2270c121f5b94bdb19dd4c1 /archaeological_context_records/serializers.py
parent21fe72642e7b7e9847a178794a1cd9f771f23c0a (diff)
downloadIshtar-e75781247b085311d75ba380ead2b523b8dba097.tar.bz2
Ishtar-e75781247b085311d75ba380ead2b523b8dba097.zip
Serializers: manage context records - uuid for context records
Diffstat (limited to 'archaeological_context_records/serializers.py')
-rw-r--r--archaeological_context_records/serializers.py41
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