Loading tests/modeltests/save_delete_hooks/models.py +13 −24 Original line number Diff line number Diff line Loading @@ -7,37 +7,26 @@ the methods. from django.db import models class Person(models.Model): first_name = models.CharField(max_length=20) last_name = models.CharField(max_length=20) def __init__(self, *args, **kwargs): super(Person, self).__init__(*args, **kwargs) self.data = [] def __unicode__(self): return u"%s %s" % (self.first_name, self.last_name) def save(self, force_insert=False, force_update=False): print "Before save" def save(self, *args, **kwargs): self.data.append("Before save") # Call the "real" save() method super(Person, self).save(force_insert, force_update) print "After save" super(Person, self).save(*args, **kwargs) self.data.append("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() [] """} self.data.append("Before deletion") # Call the "real" delete() method super(Person, self).delete() self.data.append("After deletion") tests/modeltests/save_delete_hooks/tests.py 0 → 100644 +30 −0 Original line number Diff line number Diff line from django.test import TestCase from models import Person class SaveDeleteHookTests(TestCase): def test_basic(self): p = Person(first_name="John", last_name="Smith") self.assertEqual(p.data, []) p.save() self.assertEqual(p.data, [ "Before save", "After save", ]) self.assertQuerysetEqual( Person.objects.all(), [ "John Smith", ], unicode ) p.delete() self.assertEqual(p.data, [ "Before save", "After save", "Before deletion", "After deletion", ]) self.assertQuerysetEqual(Person.objects.all(), []) Loading
tests/modeltests/save_delete_hooks/models.py +13 −24 Original line number Diff line number Diff line Loading @@ -7,37 +7,26 @@ the methods. from django.db import models class Person(models.Model): first_name = models.CharField(max_length=20) last_name = models.CharField(max_length=20) def __init__(self, *args, **kwargs): super(Person, self).__init__(*args, **kwargs) self.data = [] def __unicode__(self): return u"%s %s" % (self.first_name, self.last_name) def save(self, force_insert=False, force_update=False): print "Before save" def save(self, *args, **kwargs): self.data.append("Before save") # Call the "real" save() method super(Person, self).save(force_insert, force_update) print "After save" super(Person, self).save(*args, **kwargs) self.data.append("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() [] """} self.data.append("Before deletion") # Call the "real" delete() method super(Person, self).delete() self.data.append("After deletion")
tests/modeltests/save_delete_hooks/tests.py 0 → 100644 +30 −0 Original line number Diff line number Diff line from django.test import TestCase from models import Person class SaveDeleteHookTests(TestCase): def test_basic(self): p = Person(first_name="John", last_name="Smith") self.assertEqual(p.data, []) p.save() self.assertEqual(p.data, [ "Before save", "After save", ]) self.assertQuerysetEqual( Person.objects.all(), [ "John Smith", ], unicode ) p.delete() self.assertEqual(p.data, [ "Before save", "After save", "Before deletion", "After deletion", ]) self.assertQuerysetEqual(Person.objects.all(), [])