I wanted to get some feedback on how I'm using custom model managers.

I've put all my queries into one manager, each in a different method.
Is this the right way to go?

So for example:

CHOICES_TASK = (
                        ("NO", "None"),
                        ("GR", "Green"),
                        ("YL", "Yellow"),
                        ("RD", "Red"),
                )

class TaskManager(models.Manager):
        use_for_related_fields = True

        # Task.objects.all()
        def get_query_set(self):
                return super(TaskManager, self).get_query_set()

        # Task.milestones()
        def Milestones(self):
                return super(TaskManager,
self).get_query_set().filter(milestone=True)

        def Accomplishments(self):
                return super(TaskManager,
self).get_query_set().filter(milestone=False).filter(completed=True)

        def Nextsteps(self):
                return super(TaskManager,
self).get_query_set().filter(milestone=False).filter(completed=False)

class Task(models.Model):
        report = models.ForeignKey(Report)
        name = models.CharField(max_length=50)
        started = models.BooleanField(default=False)
        status = models.CharField(max_length=20, choices=CHOICES_TASK,
default="NO")
        completed = models.BooleanField(default=False)
        duedate = models.DateField(blank=True, null=True)
        milestone = models.BooleanField(default=False)

        # Managers
        objects = TaskManager()
        milestones = TaskManager().Milestones
        accomplishments = TaskManager().Accomplishments
        nextsteps = TaskManager().Nextsteps

        def __unicode__(self):
                return self.name
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to