PageRenderTime 30ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/modeltests/save_delete_hooks/models.py

https://code.google.com/p/mango-py/
Python | 32 lines | 17 code | 7 blank | 8 comment | 0 complexity | 6de0a49802d5b67c7dae102183a8660a MD5 | raw file
Possible License(s): BSD-3-Clause
  1. """
  2. 13. Adding hooks before/after saving and deleting
  3. To execute arbitrary code around ``save()`` and ``delete()``, just subclass
  4. the methods.
  5. """
  6. from django.db import models
  7. class Person(models.Model):
  8. first_name = models.CharField(max_length=20)
  9. last_name = models.CharField(max_length=20)
  10. def __init__(self, *args, **kwargs):
  11. super(Person, self).__init__(*args, **kwargs)
  12. self.data = []
  13. def __unicode__(self):
  14. return u"%s %s" % (self.first_name, self.last_name)
  15. def save(self, *args, **kwargs):
  16. self.data.append("Before save")
  17. # Call the "real" save() method
  18. super(Person, self).save(*args, **kwargs)
  19. self.data.append("After save")
  20. def delete(self):
  21. self.data.append("Before deletion")
  22. # Call the "real" delete() method
  23. super(Person, self).delete()
  24. self.data.append("After deletion")