id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 6095 Add the ability to manually create M2M intermediary models Jacob floguy "Consider this code: {{{ class Person(models.Model): # ... class Group(models.Model): #... members = models.ManyToManyField(Item, through=""Membership"") class Membership(models.Model): person = models.ForeignKey(Person) group = models.ForeignKey(Group) date_joined = models.DateTimeField() ########## >>> from myapp.models import Person >>> p = Person.objects.get(...) >>> p.groups.all() [] }}} This should work. That is, I should be able to manually provide the model to be used by the M2M intermediary table (which is currently hard-coded). Currently if you leave out the ""through"" bit this is valid Django code, but you won't be able use the convienent M2M methods -- you'd have to do something like {{{[m.group for m in person.membership_set.all()]}}} instead of {{{person.groups.all()}}}. This fixes a ''lot'' of complaints about the M2M system (#785 is one of them, but there are many others)." closed Database layer (models, ORM) dev fixed Accepted 1 1 0 1 0 0