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 | 9bc206dccda41a821dcc23787fa03355a7ac0924 (patch) | |
tree | 1bc39caa723aee9d69fd7b98f61e0dbd442d82f1 /ishtar_common/serializers.py | |
parent | b322eee1e2dd30e6490653611360ca50e91a49a7 (diff) | |
download | Ishtar-9bc206dccda41a821dcc23787fa03355a7ac0924.tar.bz2 Ishtar-9bc206dccda41a821dcc23787fa03355a7ac0924.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"): |