[Answered ]-Why does Django _meta store fields and many_to_many fields separately?


The reason is that the fields have some differencies:

  • “normal” field can be retrireved with simple query, while m2m field needs JOIN;
  • m2m field can have (and has) intemediate model to connect through, “normal” field can’t;
  • “normal” field just returns single object, m2m field returns queryset.

Leave a comment