Make the deletion check a default filter on the base model, inherited by
authorSapan Bhatia <gwsapan@gmail.com>
Tue, 29 Apr 2014 18:36:51 +0000 (14:36 -0400)
committerSapan Bhatia <gwsapan@gmail.com>
Wed, 23 Jul 2014 20:08:38 +0000 (16:08 -0400)
subclasses of the base model.

planetstack/core/models/plcorebase.py

index 9ce409d..2f7fd82 100644 (file)
@@ -18,6 +18,8 @@ except:
     def notify_observer(*args, **kwargs):
         pass
 
+# This manager will be inherited by all subclasses because
+# the core model is abstract.
 class PlCoreBaseManager(models.Manager):
     def get_query_set(self):
         return super(PlCoreBaseManager, self).get_query_set().filter(deleted=False)
@@ -34,6 +36,8 @@ class PlCoreBase(models.Model):
     deleted = models.BooleanField(default=False)
 
     class Meta:
+        # Changing abstract to False would require the managers of subclasses of
+        # PlCoreBase to be customized individually.
         abstract = True
         app_label = "core"