summaryrefslogtreecommitdiff
path: root/tests/modeltests/properties/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/modeltests/properties/models.py')
-rw-r--r--tests/modeltests/properties/models.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/modeltests/properties/models.py b/tests/modeltests/properties/models.py
new file mode 100644
index 0000000000..2c2190e989
--- /dev/null
+++ b/tests/modeltests/properties/models.py
@@ -0,0 +1,26 @@
+"""
+22. Using properties on models
+"""
+
+from django.db import models
+
+class Person(models.Model):
+ first_name = models.CharField(maxlength=30)
+ last_name = models.CharField(maxlength=30)
+
+ def _get_full_name(self):
+ return "%s %s" % (self.first_name, self.last_name)
+ full_name = property(_get_full_name)
+
+API_TESTS = """
+>>> a = Person(first_name='John', last_name='Lennon')
+>>> a.save()
+>>> a.full_name
+'John Lennon'
+
+# The "full_name" property hasn't provided a "set" method.
+>>> a.full_name = 'Paul McCartney'
+Traceback (most recent call last):
+ ...
+AttributeError: can't set attribute
+"""