diff --git a/peewee_migrate/router.py b/peewee_migrate/router.py
index 77973a2..0abdac0 100644
--- a/peewee_migrate/router.py
+++ b/peewee_migrate/router.py
@@ -4,6 +4,8 @@ import sys
 from importlib import import_module
 
 import pkgutil
+from types import ModuleType
+
 import mock
 import peewee as pw
 from cached_property import cached_property
@@ -265,7 +267,11 @@ class ModuleRouter(BaseRouter):
 
 def load_models(module):
     """Load models from given module."""
-    modules = _import_submodules(module)
+    if isinstance(module, ModuleType):
+        # if itself is module already
+        modules = [module]
+    else:
+        modules = _import_submodules(module)
     return {m for module in modules for m in filter(
         _check_model, (getattr(module, name) for name in dir(module))
     )}

peewee_migrate/router.py: module has no attribute '__path__'
File "/Users/anaconda3/lib/python3.6/site-packages/peewee_migrate/router.py", line 277, in _import_submodules
    if set(package.__path__) & passed:

AttributeError: module 'model' has no attribute '__path__'

diff --git a/tests/test_router.py b/tests/test_router.py
index 960b9d5..e97a7b3 100644
--- a/tests/test_router.py
+++ b/tests/test_router.py
@@ -3,7 +3,7 @@ import os
 
 import mock
 import peewee as pw
-
+from tests.test_autodiscover.some_folder_one import one_models
 
 MIGRATIONS_DIR = os.path.join('tests', 'migrations')
 
@@ -61,6 +61,12 @@ def test_router():
 
     models = load_models('tests.test_autodiscover')
     assert models
+    from .test_autodiscover.some_folder_one import one_models
+    models = load_models(one_models)
+    assert models
+
+    models = load_models(one_models)
+    assert models
 
 
 def test_router_compile(tmpdir):

pip install -e .
parse_log_pytest
requirements.txt
pytest psycopg2-binary
apt-get update apt-get install -y gcc
3.5
requirements.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
attrs==22.2.0
cached-property==1.5.2
certifi==2021.5.30
click==8.0.4
importlib-metadata==4.8.3
iniconfig==1.1.1
mock==5.2.0
packaging==21.3
peewee==3.17.9
-e git+https://github.com/klen/peewee_migrate.git@b77895ab1c9be3121bc127e0c2dfb047eed8b24c#egg=peewee_migrate
pluggy==1.0.0
psycopg2-binary==2.9.5
py==1.11.0
pyparsing==3.1.4
pytest==7.0.1
tomli==1.2.3
typing_extensions==4.1.1
zipp==3.6.0

name: peewee_migrate
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - certifi=2021.5.30=py36h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.3=he6710b0_2
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=1.1.1w=h7f8727e_0
  - pip=21.2.2=py36h06a4308_0
  - python=3.6.13=h12debd9_1
  - readline=8.2=h5eee18b_0
  - setuptools=58.0.4=py36h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.37.1=pyhd3eb1b0_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - attrs==22.2.0
      - cached-property==1.5.2
      - click==8.0.4
      - importlib-metadata==4.8.3
      - iniconfig==1.1.1
      - mock==5.2.0
      - packaging==21.3
      - peewee==3.17.9
      - pluggy==1.0.0
      - psycopg2-binary==2.9.5
      - py==1.11.0
      - pyparsing==3.1.4
      - pytest==7.0.1
      - tomli==1.2.3
      - typing-extensions==4.1.1
      - zipp==3.6.0
prefix: /opt/conda/envs/peewee_migrate

tests/test_router.py::test_router tests/test_router.py::test_router_compile
peewee_migrate/router.py
peewee_migrate/router.py