I would make Restaurant.dishes a @property that returns all dishes the restaurant's chefs can make:
return Dish.objects.filter(chef__restaurant=self) On May 23, 2016 14:46, "Jani Tiainen" <[email protected]> wrote: > Something like.... > > Chef: > # Nothing special here, reverse relations will be done automatically > > Dish: > chef = ForeignKey(Chef) > > Restaurant: > chefs = ManyToMany(Chef) > dishes = ManyToMany(Dish) > > > Of course, you need to build something to make sure that restaurant > doesn't serve dishes that it's chefs can't make. > > > On 23.05.2016 15:19, Mlati Mudan wrote: > > I read the django documentation for a simple many-to-many relationship and > I get it, but I'm stuck with this kind of complexity. > > Each restaurant employs many chefs and serves many dishes. > Each chef can work for many restaurants and prepare many dishes. > Each dish can only be prepared by a single chef but it can be on the menu > of many restaurants. > > How do I connect these models: dish, chef, restaurant? > > > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/01e504a5-bbc6-4cee-96e2-158a2803d5b7%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/01e504a5-bbc6-4cee-96e2-158a2803d5b7%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/5742FBA4.5010901%40gmail.com > <https://groups.google.com/d/msgid/django-users/5742FBA4.5010901%40gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CACczBULCJXyxtuzu%3D9Kns27qxkdwLYuFXGW1cDypktDafz8VcA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

