diff --git a/django/db/models/__init__.py b/django/db/models/__init__.py index 6c3abb6b59b..2203cbb6fd9 100644 --- a/django/db/models/__init__.py +++ b/django/db/models/__init__.py @@ -15,14 +15,18 @@ from django.utils.text import capfirst # Admin stages. ADD, CHANGE, BOTH = 1, 2, 3 -# Decorator. Takes a function that returns a tuple in this format: -# (viewname, viewargs, viewkwargs) -# Returns a function that calls urlresolvers.reverse() on that data, to return -# the URL for those parameters. def permalink(func): + """ + Decorator that calls urlresolvers.reverse() to return a URL using + parameters returned by the decorated function "func". + + "func" should be a function that returns a tuple in one of the + following formats: + (viewname, viewargs) + (viewname, viewargs, viewkwargs) + """ from django.core.urlresolvers import reverse def inner(*args, **kwargs): bits = func(*args, **kwargs) - viewname = bits[0] return reverse(bits[0], None, *bits[1:3]) return inner