                  if not is_pkg and name[0] not in '_~'
              }
              # Load migrations
              for migration_name in migration_names:
                  migration_path = '%s.%s' % (module_name, migration_name)
                  try:
 
</s> remove             self.migrated_apps.add(app_config.label)
 </s> add  </s> remove                 # Empty directories are namespaces.
                # getattr() needed on PY36 and older (replace w/attribute access).
                if getattr(module, '__file__', None) is None:
                    self.unmigrated_apps.add(app_config.label)
                    continue
 </s> add  </s> remove * ...
 </s> add * Migrations are now loaded also from directories without ``__init__.py``
  files.
            if migration_names or self.ignore_no_migrations:
                self.migrated_apps.add(app_config.label)
            else:
                self.unmigrated_apps.add(app_config.label)
                  if not is_pkg and name[0] not in '_~'
              }
            if migration_names or self.ignore_no_migrations:
                self.migrated_apps.add(app_config.label)
            else:
                self.unmigrated_apps.add(app_config.label)
              # Load migrations
              for migration_name in migration_names:
                  migration_path = '%s.%s' % (module_name, migration_name)
                  try:
keep add keep keep keep keep
 Fixed #30300 -- Allowed migrations to be loaded from directories without __init__.py file. 
django/db/migrations/loader.py