thirdparty/google_appengine/lib/django/tests/modeltests/save_delete_hooks/models.py
changeset 109 620f9b141567
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/thirdparty/google_appengine/lib/django/tests/modeltests/save_delete_hooks/models.py	Tue Aug 26 21:49:54 2008 +0000
@@ -0,0 +1,42 @@
+"""
+13. Adding hooks before/after saving and deleting
+
+To execute arbitrary code around ``save()`` and ``delete()``, just subclass
+the methods.
+"""
+
+from django.db import models
+
+class Person(models.Model):
+    first_name = models.CharField(maxlength=20)
+    last_name = models.CharField(maxlength=20)
+
+    def __str__(self):
+        return "%s %s" % (self.first_name, self.last_name)
+
+    def save(self):
+        print "Before save"
+        super(Person, self).save() # Call the "real" save() method
+        print "After save"
+
+    def delete(self):
+        print "Before deletion"
+        super(Person, self).delete() # Call the "real" delete() method
+        print "After deletion"
+
+__test__ = {'API_TESTS':"""
+>>> p1 = Person(first_name='John', last_name='Smith')
+>>> p1.save()
+Before save
+After save
+
+>>> Person.objects.all()
+[<Person: John Smith>]
+
+>>> p1.delete()
+Before deletion
+After deletion
+
+>>> Person.objects.all()
+[]
+"""}