In my Django 2.X project, I had the following structure generated by default:
project_name
---> animal_app
---> apps.py
name = "animal"
---> zebra
---> apps.py
name = "zebra"
Note that zebra is sub-app of animal app, and name is attribute of it's app config.
Now, after upgrading to 3.X, I figured out that I needed to change name="zebra" to name="animal.zebra"
I wanted to understand why this change is needed and what does it mean? From the docs and release note it is not much clearly stated for the sub-apps.