django-pfx 1.4.dev148__tar.gz → 1.4.dev152__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/PKG-INFO +1 -1
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/django_pfx.egg-info/PKG-INFO +1 -1
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/decorator/rest.py +2 -1
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.po +5 -5
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/fields.py +9 -3
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/rest_views.py +8 -1
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/.gitignore +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/.gitlab-ci.yml +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/.pre-commit-config.yaml +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/LICENSE +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/MANIFEST.in +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/README.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/django_pfx.egg-info/SOURCES.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/django_pfx.egg-info/dependency_links.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/django_pfx.egg-info/requires.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/django_pfx.egg-info/top_level.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/Makefile +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/conf.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/index.rst +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/api.views.rst +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/authentication.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/decorator.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/generate_openapi.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/getting_started.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/internationalisation.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/model.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/pfx_views.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/profiling.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/settings.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/doc/source/testing.md +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/img/pfx.png +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/img/pfx.svg +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/make_messages +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/manage.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/apidoc/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/apidoc/parameters.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/apidoc/schema.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/apidoc/tags.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/apps.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/decorator/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/default_settings.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/exceptions.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/decimal_field.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/media_field.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/minutes_duration_field.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/nh3_field.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/http/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/http/json_response.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/locale/fr/LC_MESSAGES/django.mo +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/management/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/management/commands/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/management/commands/makeapidoc.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/management/commands/profile.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/middleware/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/middleware/authentication.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/middleware/locale.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/middleware/profiling.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/0001_initial.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/0003_delete_pfxpermissionsuser.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/operations/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/operations/permissions.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/abstract_pfx_base_user.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/cache_mixins.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/login_ban.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/not_null_fields.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/ordered_model_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/otp_user_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/pfx_models.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/pfx_user.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/user_filtered_queryset_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/serializers/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/serializers/json.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/settings.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/shortcuts.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/storage/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/storage/exceptions.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/storage/local_storage.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/storage/s3_storage.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/otp_code_email.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/otp_code_subject.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/password_reset_email.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/password_reset_subject.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/welcome_email.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/welcome_subject.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/test.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/urls.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/authentication_views.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/filters_views.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/locale_views.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/media_rest_view_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/date_format.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/groups.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/list_count.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/list_items.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/list_mode.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/list_order.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/list_search.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/media_redirect.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/meta_fields.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/meta_filters.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/meta_orders.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_limit.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_offset.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_page.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_page_size.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_page_subset.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/settings/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/settings/dev.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pyproject.toml +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/requirements.txt +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/serve-doc +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/setup.cfg +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/setup.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/apps.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/locale/fr/LC_MESSAGES/django.po +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/migrations/0001_initial.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/migrations/0002_alter_book_cover.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/migrations/0003_book_local_file.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/migrations/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/models.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/ci.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/common.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/dev.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/dev_custom_example.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/settings/dev_default.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/basic_api_errors.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/basic_api_test.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_api_doc.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_api_doc_search.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_auth_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_body_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_cache.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_client.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_choices.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_date.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_decimal.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_minutes_duration.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_nh3.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_fields_one2many.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_filters.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_locale_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_ordered_rest_view_mixin.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_perm_tests.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_permissions.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_perms_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_post_migrate_groups_update.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_profiling_middleware.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_settings.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_shortcuts.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_timezone_middleware.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_tools.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_user_queryset.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_view_decorators.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_view_fields.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/urls.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/views.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/migrations/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/ci.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/common.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/dev.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/dev_default.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/tests/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/tests/test_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/urls.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/views.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/migrations/0001_initial.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/migrations/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/models.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/ci.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/common.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/dev.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/dev_custom_example.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/dev_default.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/tests/__init__.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/tests/test_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/tests/test_auth_api.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/urls.py +0 -0
- {django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/views.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.dev152
|
|
4
4
|
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-pfx
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.dev152
|
|
4
4
|
Summary: Django PFX is a toolkit designed to streamline the development of RESTful APIs using the Django framework.
|
|
5
5
|
Author: Hervé Martinet
|
|
6
6
|
Author-email: herve.martinet@gmail.com
|
|
@@ -54,11 +54,12 @@ def rest_api(
|
|
|
54
54
|
return decorator
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
def rest_property(string=None, type="CharField", field=None):
|
|
57
|
+
def rest_property(string=None, type="CharField", field=None, order=None):
|
|
58
58
|
def decorator(func):
|
|
59
59
|
func.short_description = string
|
|
60
60
|
func.field_type = type
|
|
61
61
|
func.field = field
|
|
62
|
+
func.order = order
|
|
62
63
|
return property(func)
|
|
63
64
|
return decorator
|
|
64
65
|
|
|
@@ -7,7 +7,7 @@ msgid ""
|
|
|
7
7
|
msgstr ""
|
|
8
8
|
"Project-Id-Version: \n"
|
|
9
9
|
"Report-Msgid-Bugs-To: \n"
|
|
10
|
-
"POT-Creation-Date: 2025-09-
|
|
10
|
+
"POT-Creation-Date: 2025-09-16 10:41+0200\n"
|
|
11
11
|
"PO-Revision-Date: 2021-06-22 23:31+0200\n"
|
|
12
12
|
"Last-Translator: \n"
|
|
13
13
|
"Language-Team: \n"
|
|
@@ -286,23 +286,23 @@ msgstr "Le paramètre object est requis pour move={move}."
|
|
|
286
286
|
msgid "object {pk} does not exists in this move context."
|
|
287
287
|
msgstr "object {pk} n'existe pas dans ce contexte de déplacement."
|
|
288
288
|
|
|
289
|
-
#: views/rest_views.py:220
|
|
289
|
+
#: views/rest_views.py:220 views/rest_views.py:381
|
|
290
290
|
#, python-brace-format
|
|
291
291
|
msgid "{obj} cannot be deleted because it is referenced by other objects."
|
|
292
292
|
msgstr ""
|
|
293
293
|
"{obj} ne peut pas être supprimé car il est référencé par d’autres objets."
|
|
294
294
|
|
|
295
|
-
#: views/rest_views.py:
|
|
295
|
+
#: views/rest_views.py:345
|
|
296
296
|
#, python-brace-format
|
|
297
297
|
msgid "{model} {obj} created."
|
|
298
298
|
msgstr "{model} {obj} créé."
|
|
299
299
|
|
|
300
|
-
#: views/rest_views.py:
|
|
300
|
+
#: views/rest_views.py:346
|
|
301
301
|
#, python-brace-format
|
|
302
302
|
msgid "{model} {obj} updated."
|
|
303
303
|
msgstr "{model} {obj} modifié."
|
|
304
304
|
|
|
305
|
-
#: views/rest_views.py:
|
|
305
|
+
#: views/rest_views.py:1224
|
|
306
306
|
#, python-brace-format
|
|
307
307
|
msgid "{model} {obj} deleted."
|
|
308
308
|
msgstr "{model} {obj} supprimé."
|
|
@@ -106,7 +106,7 @@ def get_db_type(field):
|
|
|
106
106
|
class ViewField:
|
|
107
107
|
def __init__(
|
|
108
108
|
self, name, verbose_name=None, alias=None,
|
|
109
|
-
field_type=None, db_type=None,
|
|
109
|
+
field_type=None, db_type=None, order=None,
|
|
110
110
|
readonly=False, readonly_create=False, readonly_update=False,
|
|
111
111
|
choices=None, json_repr=None, media_field_api=None,
|
|
112
112
|
related_model=None, related_model_api=None, related_fields=None,
|
|
@@ -118,6 +118,7 @@ class ViewField:
|
|
|
118
118
|
self.verbose_name = verbose_name or name
|
|
119
119
|
self.field_type = field_type
|
|
120
120
|
self.db_type = db_type
|
|
121
|
+
self.order = order
|
|
121
122
|
self.choices = dict(choices or [])
|
|
122
123
|
self.json_repr = json_repr
|
|
123
124
|
self.media_field_api = media_field_api
|
|
@@ -150,6 +151,7 @@ class ViewField:
|
|
|
150
151
|
res['readonly'] = dict(
|
|
151
152
|
post=self.readonly_create,
|
|
152
153
|
put=self.readonly_update)
|
|
154
|
+
res['order'] = self.order
|
|
153
155
|
return res
|
|
154
156
|
|
|
155
157
|
def get_value(self, obj):
|
|
@@ -213,6 +215,7 @@ class ViewField:
|
|
|
213
215
|
def from_property(cls, name, prop, **kwargs):
|
|
214
216
|
kwargs['readonly'] = True
|
|
215
217
|
if hasattr(prop, 'fget'):
|
|
218
|
+
setifnone(kwargs, 'order', getattr(prop.fget, 'order', None))
|
|
216
219
|
field = getattr(prop.fget, 'field', None)
|
|
217
220
|
if field:
|
|
218
221
|
return cls.from_model_field(name, field, **kwargs)
|
|
@@ -237,6 +240,8 @@ class ViewField:
|
|
|
237
240
|
kwargs, 'field_type', FieldType.from_model_field(field.__class__))
|
|
238
241
|
setifnone(
|
|
239
242
|
kwargs, 'db_type', get_db_type(field))
|
|
243
|
+
if kwargs.get('order') == '__auto__':
|
|
244
|
+
kwargs['order'] = name
|
|
240
245
|
return ViewModelField(
|
|
241
246
|
name, model_field=field, **kwargs)
|
|
242
247
|
|
|
@@ -254,6 +259,7 @@ class ViewField:
|
|
|
254
259
|
if isinstance(attr, (property, cached_property)):
|
|
255
260
|
return cls.from_property(name, attr, **kwargs)
|
|
256
261
|
field = field or attr_model._meta.get_field(attr_name)
|
|
262
|
+
kwargs['order'] = '__auto__'
|
|
257
263
|
if LOOKUP_SEP in name:
|
|
258
264
|
kwargs['readonly'] = True
|
|
259
265
|
return cls.from_model_field(name, field, **kwargs)
|
|
@@ -446,7 +452,7 @@ class VF:
|
|
|
446
452
|
choices=None, select_related=None, prefetch_related=None,
|
|
447
453
|
json_repr=None, related_model=None, related_model_api=None,
|
|
448
454
|
field=None, related_fields=None, media_field_api=None,
|
|
449
|
-
db_type=None):
|
|
455
|
+
db_type=None, order=None):
|
|
450
456
|
self.kwargs = dict(
|
|
451
457
|
name=name, verbose_name=verbose_name, field_type=field_type,
|
|
452
458
|
alias=alias,
|
|
@@ -456,7 +462,7 @@ class VF:
|
|
|
456
462
|
json_repr=json_repr, related_model=related_model,
|
|
457
463
|
related_model_api=related_model_api, field=field,
|
|
458
464
|
related_fields=related_fields, media_field_api=media_field_api,
|
|
459
|
-
db_type=db_type)
|
|
465
|
+
db_type=db_type, order=order)
|
|
460
466
|
|
|
461
467
|
def to_field(self, model):
|
|
462
468
|
return ViewField.from_name(model, **self.kwargs)
|
|
@@ -314,6 +314,7 @@ class ModelResponseMixin(ModelMixin):
|
|
|
314
314
|
save_field = getattr(o, '_save_related', False)
|
|
315
315
|
if save_field:
|
|
316
316
|
try:
|
|
317
|
+
setattr(o, save_field, obj)
|
|
317
318
|
o.full_clean(exclude={save_field})
|
|
318
319
|
except ValidationError as e:
|
|
319
320
|
for mk, ms in e.error_dict.items():
|
|
@@ -373,7 +374,13 @@ class ModelResponseMixin(ModelMixin):
|
|
|
373
374
|
if isinstance(obj._meta.get_field(k), ManyToOneRel):
|
|
374
375
|
for cur in getattr(obj, k).all():
|
|
375
376
|
if cur not in v:
|
|
376
|
-
|
|
377
|
+
try:
|
|
378
|
+
cur.delete()
|
|
379
|
+
except IntegrityError:
|
|
380
|
+
raise APIError(f(_(
|
|
381
|
+
"{obj} cannot be deleted because "
|
|
382
|
+
"it is referenced by other "
|
|
383
|
+
"objects."), obj=str(cur)))
|
|
377
384
|
for o in v:
|
|
378
385
|
save_field = getattr(o, '_save_related', False)
|
|
379
386
|
if save_field:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/fields/minutes_duration_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/management/commands/makeapidoc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/0002_pfxpermissionsuser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/operations/__init__.py
RENAMED
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/migrations/operations/permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/abstract_pfx_base_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/models/user_filtered_queryset_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/templates/registration/welcome_email.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/ordered_rest_view_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/media_redirect.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/meta_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_limit.py
RENAMED
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_offset.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_page_size.py
RENAMED
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/pfx/pfxcore/views/parameters/subset_page_subset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests/tests/test_post_migrate_groups_update.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_base_user/settings/dev_custom_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_pfx-1.4.dev148 → django_pfx-1.4.dev152}/tests_custom_user/settings/dev_custom_example.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|