From 7da6408de0474811b16e2c061189a597fbd0c670 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Thu, 12 May 2016 01:48:42 -0400 Subject: [PATCH] Add second attempt to match a navigation object as an instance of a source. Use for instances from a queryset using .defer() or .only(). --- mayan/apps/navigation/classes.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index d61ae56ed5..04cc418a81 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -136,6 +136,19 @@ class Menu(object): resolved_links.append(resolved_link) # No need for further content object match testing break + else: + # Second try for objects using .defer() or .only() + if inspect.isclass(bound_source) and isinstance(resolved_navigation_object, bound_source): + for link in links: + resolved_link = link.resolve( + context=context, + resolved_object=resolved_navigation_object + ) + if resolved_link: + resolved_links.append(resolved_link) + # No need for further content object match testing + break + except TypeError: # When source is a dictionary pass