From 6a0b85f2c6a11951d99d4b4e84b1df992580d964 Mon Sep 17 00:00:00 2001
From: Julian Rother <julian@jrother.eu>
Date: Tue, 23 Feb 2021 18:39:06 +0100
Subject: [PATCH] Made ldap_filter_params handling more robust

---
 ldapalchemy/model.py        | 4 ++--
 ldapalchemy/relationship.py | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ldapalchemy/model.py b/ldapalchemy/model.py
index 0dc9f24..0e5484b 100644
--- a/ldapalchemy/model.py
+++ b/ldapalchemy/model.py
@@ -68,8 +68,8 @@ class ModelQuery:
 		return make_modelobjs(objs, self.model)
 
 	def filter_by(self, **kwargs):
-		filter_params = self.model.ldap_filter_params
-		filter_params += tuple((getattr(self.model, attr).name, value) for attr, value in kwargs.items())
+		filter_params = list(self.model.ldap_filter_params)
+		filter_params += [(getattr(self.model, attr).name, value) for attr, value in kwargs.items()]
 		session = self.model.ldap_mapper.session.ldap_session
 		objs = session.filter(self.model.ldap_search_base, filter_params)
 		return make_modelobjs(objs, self.model)
diff --git a/ldapalchemy/relationship.py b/ldapalchemy/relationship.py
index cf5e42b..c5b4288 100644
--- a/ldapalchemy/relationship.py
+++ b/ldapalchemy/relationship.py
@@ -87,7 +87,7 @@ class BackreferenceSet(MutableSet):
 	def __get(self):
 		if self.__ldap_object.session is None:
 			return set()
-		filter_params = self.__srcmodel.ldap_filter_params + ((self.__name, self.__ldap_object.dn),)
+		filter_params = list(self.__srcmodel.ldap_filter_params) + [(self.__name, self.__ldap_object.dn)]
 		objs = self.__ldap_object.session.filter(self.__srcmodel.ldap_search_base, filter_params)
 		return set(make_modelobjs(objs, self.__srcmodel))
 
-- 
GitLab