├── .editorconfig ├── .flake8 ├── .github └── workflows │ ├── pre-commit.yml │ └── tests.yml ├── .gitignore ├── .pre-commit-config.yaml ├── AUTHORS.rst ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.rst ├── LICENSE ├── MANIFEST.in ├── README.md ├── django_virtual_models ├── __init__.py ├── exceptions.py ├── fields.py ├── generic_views.py ├── prefetch │ ├── __init__.py │ ├── exceptions.py │ ├── hints.py │ └── serializer_optimization.py ├── py.typed ├── query_capture │ ├── __init__.py │ ├── capture.py │ └── utils.py ├── serializers.py └── utils.py ├── docs ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── img │ ├── 4d-black.svg │ ├── 4d-small.svg │ ├── 4d-white.svg │ └── favicon.ico ├── installation.md └── tutorial.md ├── example ├── README.md ├── example │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py ├── manage.py ├── movies │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── fixtures │ │ └── movies_initial.yaml │ ├── migrations │ │ ├── 0001_initial.py │ │ ├── 0002_rename_persondirector_movie_order_movies_pers_movie_i_957f84_idx.py │ │ └── __init__.py │ ├── models.py │ ├── serializers.py │ ├── urls.py │ ├── views.py │ └── virtual_models.py └── tests │ ├── __init__.py │ ├── conftest.py │ └── test_views.py ├── mkdocs.yml ├── pyproject.toml └── tests ├── __init__.py ├── conftest.py ├── optimization ├── __init__.py ├── test_exceptions.py └── test_lookup_finder.py ├── query_capture ├── __init__.py ├── test_capture.py └── test_utils.py ├── views └── __init__.py ├── virtual_model_serializers ├── __init__.py └── test_virtual_model_serializers.py └── virtual_models ├── __init__.py ├── db_utils.py ├── migrations ├── 0001_initial.py └── __init__.py ├── models.py ├── test_db_utils.py ├── test_exceptions.py ├── test_utils.py └── test_virtual_models.py /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.editorconfig -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.github/workflows/pre-commit.yml -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /AUTHORS.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/AUTHORS.rst -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/CONTRIBUTING.rst -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/README.md -------------------------------------------------------------------------------- /django_virtual_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/__init__.py -------------------------------------------------------------------------------- /django_virtual_models/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/exceptions.py -------------------------------------------------------------------------------- /django_virtual_models/fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/fields.py -------------------------------------------------------------------------------- /django_virtual_models/generic_views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/generic_views.py -------------------------------------------------------------------------------- /django_virtual_models/prefetch/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django_virtual_models/prefetch/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/prefetch/exceptions.py -------------------------------------------------------------------------------- /django_virtual_models/prefetch/hints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/prefetch/hints.py -------------------------------------------------------------------------------- /django_virtual_models/prefetch/serializer_optimization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/prefetch/serializer_optimization.py -------------------------------------------------------------------------------- /django_virtual_models/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /django_virtual_models/query_capture/__init__.py: -------------------------------------------------------------------------------- 1 | from .utils import * 2 | -------------------------------------------------------------------------------- /django_virtual_models/query_capture/capture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/query_capture/capture.py -------------------------------------------------------------------------------- /django_virtual_models/query_capture/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/query_capture/utils.py -------------------------------------------------------------------------------- /django_virtual_models/serializers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/serializers.py -------------------------------------------------------------------------------- /django_virtual_models/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/django_virtual_models/utils.py -------------------------------------------------------------------------------- /docs/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ../CHANGELOG.md -------------------------------------------------------------------------------- /docs/LICENSE.md: -------------------------------------------------------------------------------- 1 | ../LICENSE -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | ../README.md -------------------------------------------------------------------------------- /docs/img/4d-black.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/img/4d-black.svg -------------------------------------------------------------------------------- /docs/img/4d-small.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/img/4d-small.svg -------------------------------------------------------------------------------- /docs/img/4d-white.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/img/4d-white.svg -------------------------------------------------------------------------------- /docs/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/img/favicon.ico -------------------------------------------------------------------------------- /docs/installation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/installation.md -------------------------------------------------------------------------------- /docs/tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/docs/tutorial.md -------------------------------------------------------------------------------- /example/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/README.md -------------------------------------------------------------------------------- /example/example/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/example/settings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/example/settings.py -------------------------------------------------------------------------------- /example/example/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/example/urls.py -------------------------------------------------------------------------------- /example/example/wsgi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/example/wsgi.py -------------------------------------------------------------------------------- /example/manage.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/manage.py -------------------------------------------------------------------------------- /example/movies/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/movies/admin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/admin.py -------------------------------------------------------------------------------- /example/movies/apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/apps.py -------------------------------------------------------------------------------- /example/movies/fixtures/movies_initial.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/fixtures/movies_initial.yaml -------------------------------------------------------------------------------- /example/movies/migrations/0001_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/migrations/0001_initial.py -------------------------------------------------------------------------------- /example/movies/migrations/0002_rename_persondirector_movie_order_movies_pers_movie_i_957f84_idx.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/migrations/0002_rename_persondirector_movie_order_movies_pers_movie_i_957f84_idx.py -------------------------------------------------------------------------------- /example/movies/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/movies/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/models.py -------------------------------------------------------------------------------- /example/movies/serializers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/serializers.py -------------------------------------------------------------------------------- /example/movies/urls.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/urls.py -------------------------------------------------------------------------------- /example/movies/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/views.py -------------------------------------------------------------------------------- /example/movies/virtual_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/movies/virtual_models.py -------------------------------------------------------------------------------- /example/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /example/tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/tests/conftest.py -------------------------------------------------------------------------------- /example/tests/test_views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/example/tests/test_views.py -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/pyproject.toml -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/optimization/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/optimization/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/optimization/test_exceptions.py -------------------------------------------------------------------------------- /tests/optimization/test_lookup_finder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/optimization/test_lookup_finder.py -------------------------------------------------------------------------------- /tests/query_capture/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/query_capture/test_capture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/query_capture/test_capture.py -------------------------------------------------------------------------------- /tests/query_capture/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/query_capture/test_utils.py -------------------------------------------------------------------------------- /tests/views/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/virtual_model_serializers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/virtual_model_serializers/test_virtual_model_serializers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_model_serializers/test_virtual_model_serializers.py -------------------------------------------------------------------------------- /tests/virtual_models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/virtual_models/db_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/db_utils.py -------------------------------------------------------------------------------- /tests/virtual_models/migrations/0001_initial.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/migrations/0001_initial.py -------------------------------------------------------------------------------- /tests/virtual_models/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/virtual_models/models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/models.py -------------------------------------------------------------------------------- /tests/virtual_models/test_db_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/test_db_utils.py -------------------------------------------------------------------------------- /tests/virtual_models/test_exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/test_exceptions.py -------------------------------------------------------------------------------- /tests/virtual_models/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/test_utils.py -------------------------------------------------------------------------------- /tests/virtual_models/test_virtual_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vintasoftware/django-virtual-models/HEAD/tests/virtual_models/test_virtual_models.py --------------------------------------------------------------------------------