PageRenderTime 22ms CodeModel.GetById 15ms RepoModel.GetById 1ms app.codeStats 0ms

/tests/regressiontests/custom_managers_regress/models.py

https://code.google.com/p/mango-py/
Python | 40 lines | 24 code | 10 blank | 6 comment | 0 complexity | c9c3784a0d7c346d9cf9eb47510834e5 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. """
  2. Regression tests for custom manager classes.
  3. """
  4. from django.db import models
  5. class RestrictedManager(models.Manager):
  6. """
  7. A manager that filters out non-public instances.
  8. """
  9. def get_query_set(self):
  10. return super(RestrictedManager, self).get_query_set().filter(is_public=True)
  11. class RelatedModel(models.Model):
  12. name = models.CharField(max_length=50)
  13. def __unicode__(self):
  14. return self.name
  15. class RestrictedModel(models.Model):
  16. name = models.CharField(max_length=50)
  17. is_public = models.BooleanField(default=False)
  18. related = models.ForeignKey(RelatedModel)
  19. objects = RestrictedManager()
  20. plain_manager = models.Manager()
  21. def __unicode__(self):
  22. return self.name
  23. class OneToOneRestrictedModel(models.Model):
  24. name = models.CharField(max_length=50)
  25. is_public = models.BooleanField(default=False)
  26. related = models.OneToOneField(RelatedModel)
  27. objects = RestrictedManager()
  28. plain_manager = models.Manager()
  29. def __unicode__(self):
  30. return self.name