Don't overwrite self.kwargs cause links resolved kwargs to get cached and produce wrong resolved URLs

This commit is contained in:
Roberto Rosario
2015-06-08 23:41:38 -04:00
parent f7d69931cf
commit 87d8504cfb

View File

@@ -182,12 +182,12 @@ class Link(object):
context['resolved_object'] = resolved_object
try:
self.kwargs = self.kwargs(context)
kwargs = self.kwargs(context)
except TypeError:
# Is not a callable
pass
kwargs = self.kwargs
kwargs = {key: Variable(value) for key, value in self.kwargs.iteritems()}
kwargs = {key: Variable(value) for key, value in kwargs.iteritems()}
# Use Django's exact {% url %} code to resolve the link
node = URLNode(view_name=view_name, args=args, kwargs=kwargs, asvar=None)