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.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/modeltests/properties/models.py b/tests/modeltests/properties/models.py
index e9d8da9594..3b0133bf8a 100644
--- a/tests/modeltests/properties/models.py
+++ b/tests/modeltests/properties/models.py
@@ -12,8 +12,14 @@ class Person(models.Model):
def _get_full_name(self):
return "%s %s" % (self.first_name, self.last_name)
+
+ def _set_full_name(self, combined_name):
+ self.first_name, self.last_name = combined_name.split(' ', 1)
+
full_name = property(_get_full_name)
+ full_name_2 = property(_get_full_name, _set_full_name)
+
API_TESTS = """
>>> a = Person(first_name='John', last_name='Lennon')
>>> a.save()
@@ -25,4 +31,10 @@ API_TESTS = """
Traceback (most recent call last):
...
AttributeError: can't set attribute
+
+# But "full_name_2" has, and it can be used to initialise the class.
+>>> a2 = Person(full_name_2 = 'Paul McCartney')
+>>> a2.save()
+>>> a2.first_name
+'Paul'
"""