diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 12:03:28 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-04 12:03:28 +0200 |
commit | f2cb0542faac028dc3f90a61b46c0949bb35339f (patch) | |
tree | 1bc39caa723aee9d69fd7b98f61e0dbd442d82f1 /ishtar_common/serializers.py | |
parent | 7ea79f8af328904f0138a7d52f22b38dac3941b8 (diff) | |
download | Ishtar-f2cb0542faac028dc3f90a61b46c0949bb35339f.tar.bz2 Ishtar-f2cb0542faac028dc3f90a61b46c0949bb35339f.zip |
Serializer: manage queryset filter
Diffstat (limited to 'ishtar_common/serializers.py')
-rw-r--r-- | ishtar_common/serializers.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py index 03433df89..409051ec0 100644 --- a/ishtar_common/serializers.py +++ b/ishtar_common/serializers.py @@ -103,13 +103,18 @@ def archive_serialization(result, archive_dir=None, archive=False, return archive_name -def generic_get_results(model_list, dirname, no_geo=True): +def generic_get_results(model_list, dirname, no_geo=True, + result_queryset=None): result = OrderedDict() for model in model_list: - model_name = model.__name__ - model_name = str(model.__module__).split(".")[0] + "__" + model_name - - base_q = model.objects + base_model_name = model.__name__ + model_name = str(model.__module__).split(".")[0] + "__" + \ + base_model_name + + if result_queryset and base_model_name in result_queryset: + base_q = result_queryset[base_model_name] + else: + base_q = model.objects q = base_q recursion = None if hasattr(model, "parent"): |