From 98ffe11d5f26ec2bcf89bd1d069715959209d242 Mon Sep 17 00:00:00 2001 From: Roland Haroutiounian Date: Wed, 22 Jun 2016 16:27:36 +0200 Subject: [PATCH] Changed the object_collection_name method in the utils of mongodb datasource plugin --- plugins/mongodb_datasource/datasource.py | 5 +++++ plugins/mongodb_datasource/utils.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/mongodb_datasource/datasource.py b/plugins/mongodb_datasource/datasource.py index 5ea079c..bae0bc2 100644 --- a/plugins/mongodb_datasource/datasource.py +++ b/plugins/mongodb_datasource/datasource.py @@ -97,6 +97,11 @@ class MongoDbDatasource(object): collection_name = object_collection_name(target) collection = self.database[collection_name] + + if not target.abstract: + # Add the class name to the filters + filters.append(('classname', '=', target.__name__)) + query_filters = self.__process_filters( target, filters, rel_filters) query_result_ordering = None diff --git a/plugins/mongodb_datasource/utils.py b/plugins/mongodb_datasource/utils.py index f9f7e06..9622466 100644 --- a/plugins/mongodb_datasource/utils.py +++ b/plugins/mongodb_datasource/utils.py @@ -67,7 +67,10 @@ def connect(host, port, db_name, username, password): # @param class_object EmClass # @return str def object_collection_name(class_object): - return class_object.__name__ + if class_object.abstract: + return class_object.__name__ + else: + return object_collection_name(class_object.__base__) ## @brief Determine a collection field name given a lodel2 fieldname