From 765367913a8009acb3f10c73386b423ec661994f Mon Sep 17 00:00:00 2001 From: gzing Date: Fri, 10 Oct 2014 11:41:47 +0530 Subject: [PATCH] checks if the field passed on is a related manager --- src/watson/registration.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/watson/registration.py b/src/watson/registration.py index 3ea01be..bdab31d 100644 --- a/src/watson/registration.py +++ b/src/watson/registration.py @@ -52,12 +52,14 @@ class SearchAdapter(object): # Get the attribute. if hasattr(obj, prefix): value = getattr(obj, prefix) - if callable(value): - value = value() + if not isinstance(value, (QuerySet, models.Manager)): + if callable(value): + value = value() elif hasattr(self, prefix): value = getattr(self, prefix) - if callable(value): - value = value(obj) + if not isinstance(value, (QuerySet, models.Manager)): + if callable(value): + value = value(obj) else: raise SearchAdapterError("Could not find a property called {name!r} on either {obj!r} or {search_adapter!r}".format( name = prefix,