summaryrefslogtreecommitdiff
path: root/tests/model_permalink/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/model_permalink/models.py')
-rw-r--r--tests/model_permalink/models.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/model_permalink/models.py b/tests/model_permalink/models.py
new file mode 100644
index 0000000000..dacf2a3fb3
--- /dev/null
+++ b/tests/model_permalink/models.py
@@ -0,0 +1,24 @@
+from django.db import models
+
+
+def set_attr(name, value):
+ def wrapper(function):
+ setattr(function, name, value)
+ return function
+ return wrapper
+
+
+class Guitarist(models.Model):
+ name = models.CharField(max_length=50)
+ slug = models.CharField(max_length=50)
+
+ @models.permalink
+ def url(self):
+ "Returns the URL for this guitarist."
+ return ('guitarist_detail', [self.slug])
+
+ @models.permalink
+ @set_attr('attribute', 'value')
+ def url_with_attribute(self):
+ "Returns the URL for this guitarist and holds an attribute"
+ return ('guitarist_detail', [self.slug])