Let's make it one step futher in "being explicit" in explanations..... There are no much specifics to discuss about conditional models because it's easy to understand the flow logic.
assuming you have controllers/default.py controllers/test.py controllers/foo.py controllers/bar.py models/db.py models/default/model_one.py models/default/model_two.py models/foo/model_one.py You have the following "execution scheme": - if /app/default/somefunction is called models executed before controllers/default.py are : models/db.py --> models/default/model_one.py --> models/default/models_two.py - if /app/test/somefunction is called, only models/db.py will be executed - if /app/foo/somefunction is called, then models/db.py --> models/foo/model_one.py What is that you are missing ? --