Why not create a Manager? Give it a method foo1_related() which then returns something like self.foo1_set.filter( your filters ) and a similar method foo2_related (if needed).
You can then call A.foo1_related() and get what you need. Best regards, Martin On Tue, Jun 7, 2011 at 4:08 PM, mhulse <rgmi...@gmail.com> wrote: > Hello, > > I have a M2M field... > > class A(models.Model): > foo1 = models.ManyToManyField('B', related_name='foo1_set' ...) > foo2 = models.ManyToManyField('B', related_name='foo2_set' ...) > ... > > When I run: > > ...foo.select_related() > > I get all of the B entries related to A instance. > > I would like to write a method similar to select_related() (I need to > customize the query), but I am not sure how to implement such a query. > > I have been hammering at this all day, and I gave up on the idea of writing > my own select_related() method and I have most recently tried: > > Failure #1: > > Add the below method to class A: > > def custom_select_related(self): > if self.foo1: > return self.foo1.select_related() > elif self.foo2: > return self.foo2.select_related() > else: > return None > > Failure #2: > > Added the similar method as above, except I replaced replaced > select_related() with foo1/foo2_set. > > ... > > What I really need is to implement similar functionality as > select_related()... I am just not sure how or where. Is this a model > manager? > > Could someone kick me in the right direction here? :D > > Please let me know if I can post more code and/or explain my situation > better. > > Thanks so much! > > Cheers, > Micky > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To view this discussion on the web visit > https://groups.google.com/d/msg/django-users/-/WGd5bnh1OEI3WlFK. > To post to this group, send email to django-users@googlegroups.com. > To unsubscribe from this group, send email to > django-users+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/django-users?hl=en. > -- 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 django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.