nautobot 2.4.0b1__py3-none-any.whl → 2.4.1__py3-none-any.whl
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.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +86 -4
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +460 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +126 -38
- nautobot/core/views/renderers.py +6 -6
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +36 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +7 -5
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device.html +1 -9
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/location.html +1 -9
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/rack.html +1 -9
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackreservation.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_delete.py +189 -0
- nautobot/dcim/tests/integration/test_device_bulk_edit.py +181 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +21 -83
- nautobot/dcim/views.py +1 -13
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +90 -85
- nautobot/extras/api/views.py +22 -27
- nautobot/extras/constants.py +2 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +12 -11
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +2 -2
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/dynamicgroup.html +1 -9
- nautobot/extras/templates/extras/job_detail.html +16 -0
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/plugin_detail.html +32 -15
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +13 -13
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_datasources.py +2 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +16 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +3 -2
- nautobot/extras/views.py +30 -98
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +66 -16
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +23 -7
- nautobot/ipam/templates/ipam/ipaddress.html +1 -9
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +1 -9
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlan.html +1 -9
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +95 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +36 -6
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +46 -4
- nautobot/project-static/docs/apps/index.html +46 -4
- nautobot/project-static/docs/apps/nautobot-apps.html +47 -6
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.88dd0f4e.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.88dd0f4e.min.js.map} +2 -2
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +62 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +374 -122
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +90 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +95 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +53 -6
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +52 -5
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +79 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +102 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +108 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +131 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +239 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +581 -165
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +109 -36
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +453 -167
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +493 -211
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +60 -8
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +71 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +407 -55
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +620 -205
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +858 -412
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +448 -186
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +365 -147
- nautobot/project-static/docs/development/apps/api/configuration-view.html +46 -4
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/global-search.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/graphql.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +68 -7
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +46 -4
- nautobot/project-static/docs/development/apps/api/prometheus.html +46 -4
- nautobot/project-static/docs/development/apps/api/setup.html +46 -4
- nautobot/project-static/docs/development/apps/api/testing.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/base-template.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/notes.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +52 -6
- nautobot/project-static/docs/development/apps/api/views/urls.html +46 -4
- nautobot/project-static/docs/development/apps/index.html +46 -4
- nautobot/project-static/docs/development/apps/migration/code-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/from-v1.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +50 -8
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +211 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +46 -4
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +46 -4
- nautobot/project-static/docs/development/core/application-registry.html +46 -4
- nautobot/project-static/docs/development/core/best-practices.html +46 -4
- nautobot/project-static/docs/development/core/bootstrap-ui.html +46 -4
- nautobot/project-static/docs/development/core/caching.html +46 -4
- nautobot/project-static/docs/development/core/controllers.html +46 -4
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +73 -74
- nautobot/project-static/docs/development/core/generic-views.html +46 -4
- nautobot/project-static/docs/development/core/getting-started.html +249 -224
- nautobot/project-static/docs/development/core/homepage.html +49 -7
- nautobot/project-static/docs/development/core/index.html +46 -4
- nautobot/project-static/docs/development/core/{local-k8s.html → minikube-dev-environment-for-k8s-jobs.html} +469 -168
- nautobot/project-static/docs/development/core/model-checklist.html +56 -12
- nautobot/project-static/docs/development/core/model-features.html +46 -4
- nautobot/project-static/docs/development/core/natural-keys.html +46 -4
- nautobot/project-static/docs/development/core/navigation-menu.html +46 -4
- nautobot/project-static/docs/development/core/release-checklist.html +49 -7
- nautobot/project-static/docs/development/core/role-internals.html +46 -4
- nautobot/project-static/docs/development/core/settings.html +46 -4
- nautobot/project-static/docs/development/core/style-guide.html +49 -7
- nautobot/project-static/docs/development/core/templates.html +46 -4
- nautobot/project-static/docs/development/core/testing.html +46 -4
- nautobot/project-static/docs/development/core/ui-component-framework.html +369 -273
- nautobot/project-static/docs/development/core/user-preferences.html +46 -4
- nautobot/project-static/docs/development/index.html +46 -4
- nautobot/project-static/docs/development/jobs/index.html +216 -122
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +46 -4
- nautobot/project-static/docs/index.html +54 -23
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +47 -7
- nautobot/project-static/docs/overview/design_philosophy.html +46 -4
- nautobot/project-static/docs/release-notes/index.html +52 -12
- nautobot/project-static/docs/release-notes/version-1.0.html +234 -193
- nautobot/project-static/docs/release-notes/version-1.1.html +231 -190
- nautobot/project-static/docs/release-notes/version-1.2.html +306 -265
- nautobot/project-static/docs/release-notes/version-1.3.html +332 -291
- nautobot/project-static/docs/release-notes/version-1.4.html +417 -377
- nautobot/project-static/docs/release-notes/version-1.5.html +605 -566
- nautobot/project-static/docs/release-notes/version-1.6.html +904 -447
- nautobot/project-static/docs/release-notes/version-2.0.html +528 -489
- nautobot/project-static/docs/release-notes/version-2.1.html +363 -324
- nautobot/project-static/docs/release-notes/version-2.2.html +356 -317
- nautobot/project-static/docs/release-notes/version-2.3.html +997 -352
- nautobot/project-static/docs/release-notes/version-2.4.html +525 -101
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +295 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +48 -6
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +110 -8
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +48 -6
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +66 -8
- nautobot/project-static/docs/user-guide/administration/installation/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +47 -5
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/services.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +49 -8
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +50 -12
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +49 -7
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +51 -7
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +49 -7
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9444 -0
- nautobot/project-static/docs/user-guide/index.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +50 -8
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +50 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +49 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9722 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +47 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +94 -25
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +74 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +46 -4
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -9
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/METADATA +6 -6
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/RECORD +600 -550
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -2112,6 +2112,27 @@
|
|
|
2112
2112
|
|
|
2113
2113
|
|
|
2114
2114
|
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
<li class="md-nav__item">
|
|
2122
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
<span class="md-ellipsis">
|
|
2126
|
+
Wireless Networks and Controllers
|
|
2127
|
+
</span>
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
</a>
|
|
2131
|
+
</li>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2115
2136
|
</ul>
|
|
2116
2137
|
</nav>
|
|
2117
2138
|
|
|
@@ -5131,6 +5152,27 @@
|
|
|
5131
5152
|
|
|
5132
5153
|
|
|
5133
5154
|
|
|
5155
|
+
<li class="md-nav__item">
|
|
5156
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5157
|
+
|
|
5158
|
+
|
|
5159
|
+
<span class="md-ellipsis">
|
|
5160
|
+
Kubernetes Job Support
|
|
5161
|
+
</span>
|
|
5162
|
+
|
|
5163
|
+
|
|
5164
|
+
</a>
|
|
5165
|
+
</li>
|
|
5166
|
+
|
|
5167
|
+
|
|
5168
|
+
|
|
5169
|
+
|
|
5170
|
+
|
|
5171
|
+
|
|
5172
|
+
|
|
5173
|
+
|
|
5174
|
+
|
|
5175
|
+
|
|
5134
5176
|
<li class="md-nav__item">
|
|
5135
5177
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5178
|
|
|
@@ -7152,6 +7194,15 @@
|
|
|
7152
7194
|
</span>
|
|
7153
7195
|
</a>
|
|
7154
7196
|
|
|
7197
|
+
</li>
|
|
7198
|
+
|
|
7199
|
+
<li class="md-nav__item">
|
|
7200
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
7201
|
+
<span class="md-ellipsis">
|
|
7202
|
+
get_queryset
|
|
7203
|
+
</span>
|
|
7204
|
+
</a>
|
|
7205
|
+
|
|
7155
7206
|
</li>
|
|
7156
7207
|
|
|
7157
7208
|
<li class="md-nav__item">
|
|
@@ -8947,11 +8998,11 @@
|
|
|
8947
8998
|
|
|
8948
8999
|
|
|
8949
9000
|
<li class="md-nav__item">
|
|
8950
|
-
<a href="../../../development/core/
|
|
9001
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
8951
9002
|
|
|
8952
9003
|
|
|
8953
9004
|
<span class="md-ellipsis">
|
|
8954
|
-
|
|
9005
|
+
Minikube Dev Environment for K8s Jobs
|
|
8955
9006
|
</span>
|
|
8956
9007
|
|
|
8957
9008
|
|
|
@@ -10067,6 +10118,15 @@
|
|
|
10067
10118
|
</span>
|
|
10068
10119
|
</a>
|
|
10069
10120
|
|
|
10121
|
+
</li>
|
|
10122
|
+
|
|
10123
|
+
<li class="md-nav__item">
|
|
10124
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
10125
|
+
<span class="md-ellipsis">
|
|
10126
|
+
get_queryset
|
|
10127
|
+
</span>
|
|
10128
|
+
</a>
|
|
10129
|
+
|
|
10070
10130
|
</li>
|
|
10071
10131
|
|
|
10072
10132
|
<li class="md-nav__item">
|
|
@@ -10740,7 +10800,12 @@
|
|
|
10740
10800
|
|
|
10741
10801
|
<div class="doc doc-contents first">
|
|
10742
10802
|
|
|
10743
|
-
|
|
10803
|
+
<p>Helpers for an app to implement a REST API.</p>
|
|
10804
|
+
|
|
10805
|
+
|
|
10806
|
+
|
|
10807
|
+
|
|
10808
|
+
|
|
10744
10809
|
|
|
10745
10810
|
|
|
10746
10811
|
|
|
@@ -10766,10 +10831,15 @@
|
|
|
10766
10831
|
|
|
10767
10832
|
<div class="doc doc-contents ">
|
|
10768
10833
|
<p class="doc doc-class-bases">
|
|
10769
|
-
Bases: <code><
|
|
10834
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><span title="rest_framework.routers.APIRootView">APIRootView</span></code></p>
|
|
10835
|
+
|
|
10836
|
+
|
|
10837
|
+
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10838
|
+
|
|
10839
|
+
|
|
10840
|
+
|
|
10770
10841
|
|
|
10771
10842
|
|
|
10772
|
-
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10773
10843
|
|
|
10774
10844
|
|
|
10775
10845
|
|
|
@@ -10805,10 +10875,10 @@
|
|
|
10805
10875
|
|
|
10806
10876
|
<div class="doc doc-contents ">
|
|
10807
10877
|
<p class="doc doc-class-bases">
|
|
10808
|
-
Bases: <code><
|
|
10878
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.OptInFieldsMixin" href="#nautobot.apps.api.OptInFieldsMixin">OptInFieldsMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedModelSerializer">HyperlinkedModelSerializer</span></code></p>
|
|
10809
10879
|
|
|
10810
10880
|
|
|
10811
|
-
|
|
10881
|
+
<p>This base serializer implements common fields and logic for all ModelSerializers.</p>
|
|
10812
10882
|
<p>Namely, it:</p>
|
|
10813
10883
|
<ul>
|
|
10814
10884
|
<li>defines the <code>display</code> field which exposes a human friendly value for the given object.</li>
|
|
@@ -10825,6 +10895,11 @@
|
|
|
10825
10895
|
|
|
10826
10896
|
|
|
10827
10897
|
|
|
10898
|
+
|
|
10899
|
+
|
|
10900
|
+
|
|
10901
|
+
|
|
10902
|
+
|
|
10828
10903
|
<div class="doc doc-children">
|
|
10829
10904
|
|
|
10830
10905
|
|
|
@@ -10849,7 +10924,7 @@
|
|
|
10849
10924
|
|
|
10850
10925
|
<div class="doc doc-contents ">
|
|
10851
10926
|
|
|
10852
|
-
|
|
10927
|
+
<p>Return whether this is a nested serializer.</p>
|
|
10853
10928
|
</div>
|
|
10854
10929
|
|
|
10855
10930
|
</div>
|
|
@@ -10867,7 +10942,7 @@
|
|
|
10867
10942
|
|
|
10868
10943
|
<div class="doc doc-contents ">
|
|
10869
10944
|
|
|
10870
|
-
|
|
10945
|
+
<p>Instantiate a BaseModelSerializer.</p>
|
|
10871
10946
|
<p>The force_csv kwarg allows you to force _is_csv_request() to evaluate True without passing a Request object,
|
|
10872
10947
|
which is necessary to be able to export appropriately structured CSV from a Job that doesn't have a Request.</p>
|
|
10873
10948
|
|
|
@@ -10886,7 +10961,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10886
10961
|
|
|
10887
10962
|
<div class="doc doc-contents ">
|
|
10888
10963
|
|
|
10889
|
-
|
|
10964
|
+
<p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
|
|
10890
10965
|
|
|
10891
10966
|
</div>
|
|
10892
10967
|
|
|
@@ -10903,7 +10978,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10903
10978
|
|
|
10904
10979
|
<div class="doc doc-contents ">
|
|
10905
10980
|
|
|
10906
|
-
|
|
10981
|
+
<p>Create a property field for model methods and properties.</p>
|
|
10907
10982
|
|
|
10908
10983
|
</div>
|
|
10909
10984
|
|
|
@@ -10920,7 +10995,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10920
10995
|
|
|
10921
10996
|
<div class="doc doc-contents ">
|
|
10922
10997
|
|
|
10923
|
-
|
|
10998
|
+
<p>Override DRF's default relational-field construction to be app-aware.</p>
|
|
10924
10999
|
|
|
10925
11000
|
</div>
|
|
10926
11001
|
|
|
@@ -10937,7 +11012,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10937
11012
|
|
|
10938
11013
|
<div class="doc doc-contents ">
|
|
10939
11014
|
|
|
10940
|
-
|
|
11015
|
+
<p>Override DRF's default 'url' field construction to be app-aware.</p>
|
|
10941
11016
|
|
|
10942
11017
|
</div>
|
|
10943
11018
|
|
|
@@ -10954,7 +11029,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10954
11029
|
|
|
10955
11030
|
<div class="doc doc-contents ">
|
|
10956
11031
|
|
|
10957
|
-
|
|
11032
|
+
<p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
|
|
10958
11033
|
|
|
10959
11034
|
</div>
|
|
10960
11035
|
|
|
@@ -10971,7 +11046,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10971
11046
|
|
|
10972
11047
|
<div class="doc doc-contents ">
|
|
10973
11048
|
|
|
10974
|
-
|
|
11049
|
+
<p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
|
|
10975
11050
|
|
|
10976
11051
|
</div>
|
|
10977
11052
|
|
|
@@ -10988,7 +11063,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10988
11063
|
|
|
10989
11064
|
<div class="doc doc-contents ">
|
|
10990
11065
|
|
|
10991
|
-
|
|
11066
|
+
<p>Override get_field_names() to add some custom logic.</p>
|
|
10992
11067
|
<p>Assuming that we follow the pattern where <code>fields = "__all__" for the vast majority of serializers in Nautobot,
|
|
10993
11068
|
we do not strictly need to use this method to protect against inadvertently omitting standard fields
|
|
10994
11069
|
like</code>display<code>,</code>created<code>, and</code>last_updated`. However, we continue to do as a bit of redundant safety.</p>
|
|
@@ -11021,7 +11096,7 @@ way of <em>excluding</em> fields that we <em>don't</em> want to include by defau
|
|
|
11021
11096
|
<div class="doc doc-contents ">
|
|
11022
11097
|
|
|
11023
11098
|
|
|
11024
|
-
|
|
11099
|
+
<p>Support bulk deletion of objects using the list endpoint for a model. Accepts a DELETE action with a list of one
|
|
11025
11100
|
or more JSON objects, each specifying the UUID of an object to be deleted. For example:</p>
|
|
11026
11101
|
<p>DELETE /api/dcim/locations/
|
|
11027
11102
|
[
|
|
@@ -11032,6 +11107,11 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
11032
11107
|
|
|
11033
11108
|
|
|
11034
11109
|
|
|
11110
|
+
|
|
11111
|
+
|
|
11112
|
+
|
|
11113
|
+
|
|
11114
|
+
|
|
11035
11115
|
<div class="doc doc-children">
|
|
11036
11116
|
|
|
11037
11117
|
|
|
@@ -11064,7 +11144,7 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
11064
11144
|
<div class="doc doc-contents ">
|
|
11065
11145
|
|
|
11066
11146
|
|
|
11067
|
-
|
|
11147
|
+
<p>Support bulk modification of objects using the list endpoint for a model. Accepts a PATCH action with a list of one
|
|
11068
11148
|
or more JSON objects, each specifying the UUID of an object to be updated as well as the attributes to be set.
|
|
11069
11149
|
For example:</p>
|
|
11070
11150
|
<p>PATCH /api/dcim/locations/
|
|
@@ -11082,6 +11162,11 @@ For example:</p>
|
|
|
11082
11162
|
|
|
11083
11163
|
|
|
11084
11164
|
|
|
11165
|
+
|
|
11166
|
+
|
|
11167
|
+
|
|
11168
|
+
|
|
11169
|
+
|
|
11085
11170
|
<div class="doc doc-children">
|
|
11086
11171
|
|
|
11087
11172
|
|
|
@@ -11113,16 +11198,21 @@ For example:</p>
|
|
|
11113
11198
|
|
|
11114
11199
|
<div class="doc doc-contents ">
|
|
11115
11200
|
<p class="doc doc-class-bases">
|
|
11116
|
-
Bases: <code><
|
|
11201
|
+
Bases: <code><span title="rest_framework.serializers.Field">Field</span></code></p>
|
|
11117
11202
|
|
|
11118
11203
|
|
|
11119
|
-
|
|
11204
|
+
<p>Represent a ChoiceField as {'value': <DB value>, 'label': <string>}. Accepts a single value on write.</p>
|
|
11120
11205
|
<p>:param choices: An iterable of choices in the form (value, key).
|
|
11121
11206
|
:param allow_blank: Allow blank values in addition to the listed choices.</p>
|
|
11122
11207
|
|
|
11123
11208
|
|
|
11124
11209
|
|
|
11125
11210
|
|
|
11211
|
+
|
|
11212
|
+
|
|
11213
|
+
|
|
11214
|
+
|
|
11215
|
+
|
|
11126
11216
|
<div class="doc doc-children">
|
|
11127
11217
|
|
|
11128
11218
|
|
|
@@ -11154,10 +11244,15 @@ For example:</p>
|
|
|
11154
11244
|
|
|
11155
11245
|
<div class="doc doc-contents ">
|
|
11156
11246
|
<p class="doc doc-class-bases">
|
|
11157
|
-
Bases: <code><
|
|
11247
|
+
Bases: <code><span title="rest_framework.relations.RelatedField">RelatedField</span></code></p>
|
|
11248
|
+
|
|
11249
|
+
|
|
11250
|
+
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
11251
|
+
|
|
11252
|
+
|
|
11253
|
+
|
|
11158
11254
|
|
|
11159
11255
|
|
|
11160
|
-
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
11161
11256
|
|
|
11162
11257
|
|
|
11163
11258
|
|
|
@@ -11193,10 +11288,15 @@ For example:</p>
|
|
|
11193
11288
|
|
|
11194
11289
|
<div class="doc doc-contents ">
|
|
11195
11290
|
<p class="doc doc-class-bases">
|
|
11196
|
-
Bases: <code><
|
|
11291
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11292
|
+
|
|
11293
|
+
|
|
11294
|
+
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
11295
|
+
|
|
11296
|
+
|
|
11297
|
+
|
|
11197
11298
|
|
|
11198
11299
|
|
|
11199
|
-
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
11200
11300
|
|
|
11201
11301
|
|
|
11202
11302
|
|
|
@@ -11222,7 +11322,7 @@ For example:</p>
|
|
|
11222
11322
|
|
|
11223
11323
|
<div class="doc doc-contents ">
|
|
11224
11324
|
|
|
11225
|
-
|
|
11325
|
+
<p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
|
|
11226
11326
|
|
|
11227
11327
|
</div>
|
|
11228
11328
|
|
|
@@ -11249,10 +11349,15 @@ For example:</p>
|
|
|
11249
11349
|
|
|
11250
11350
|
<div class="doc doc-contents ">
|
|
11251
11351
|
<p class="doc doc-class-bases">
|
|
11252
|
-
Bases: <code><
|
|
11352
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSet" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
|
|
11353
|
+
|
|
11354
|
+
|
|
11355
|
+
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
11356
|
+
|
|
11357
|
+
|
|
11358
|
+
|
|
11253
11359
|
|
|
11254
11360
|
|
|
11255
|
-
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
11256
11361
|
|
|
11257
11362
|
|
|
11258
11363
|
|
|
@@ -11288,10 +11393,15 @@ For example:</p>
|
|
|
11288
11393
|
|
|
11289
11394
|
<div class="doc doc-contents ">
|
|
11290
11395
|
<p class="doc doc-class-bases">
|
|
11291
|
-
Bases: <code><
|
|
11396
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkUpdateModelMixin" href="#nautobot.apps.api.BulkUpdateModelMixin">BulkUpdateModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkDestroyModelMixin" href="#nautobot.apps.api.BulkDestroyModelMixin">BulkDestroyModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ModelViewSet">ModelViewSet</span></code></p>
|
|
11397
|
+
|
|
11398
|
+
|
|
11399
|
+
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11400
|
+
|
|
11401
|
+
|
|
11402
|
+
|
|
11292
11403
|
|
|
11293
11404
|
|
|
11294
|
-
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11295
11405
|
|
|
11296
11406
|
|
|
11297
11407
|
|
|
@@ -11331,6 +11441,11 @@ For example:</p>
|
|
|
11331
11441
|
|
|
11332
11442
|
|
|
11333
11443
|
|
|
11444
|
+
|
|
11445
|
+
|
|
11446
|
+
|
|
11447
|
+
|
|
11448
|
+
|
|
11334
11449
|
<div class="doc doc-children">
|
|
11335
11450
|
|
|
11336
11451
|
|
|
@@ -11352,7 +11467,25 @@ For example:</p>
|
|
|
11352
11467
|
|
|
11353
11468
|
<div class="doc doc-contents ">
|
|
11354
11469
|
|
|
11355
|
-
|
|
11470
|
+
<p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
|
|
11471
|
+
|
|
11472
|
+
</div>
|
|
11473
|
+
|
|
11474
|
+
</div>
|
|
11475
|
+
|
|
11476
|
+
<div class="doc doc-object doc-function">
|
|
11477
|
+
|
|
11478
|
+
|
|
11479
|
+
<h3 id="nautobot.apps.api.ModelViewSetMixin.get_queryset" class="doc doc-heading">
|
|
11480
|
+
<code class="highlight language-python"><span class="n">get_queryset</span><span class="p">()</span></code>
|
|
11481
|
+
|
|
11482
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11483
|
+
|
|
11484
|
+
|
|
11485
|
+
<div class="doc doc-contents ">
|
|
11486
|
+
|
|
11487
|
+
<p>Attempt to optimize the queryset based on the fields present in the associated serializer.</p>
|
|
11488
|
+
<p>See similar logic in nautobot.core.tables.BaseTable.</p>
|
|
11356
11489
|
|
|
11357
11490
|
</div>
|
|
11358
11491
|
|
|
@@ -11369,7 +11502,7 @@ For example:</p>
|
|
|
11369
11502
|
|
|
11370
11503
|
<div class="doc doc-contents ">
|
|
11371
11504
|
|
|
11372
|
-
|
|
11505
|
+
<p>Runs anything that needs to occur prior to calling the method handler.</p>
|
|
11373
11506
|
<p>Override of internal Django Rest Framework API.</p>
|
|
11374
11507
|
|
|
11375
11508
|
</div>
|
|
@@ -11387,7 +11520,7 @@ For example:</p>
|
|
|
11387
11520
|
|
|
11388
11521
|
<div class="doc doc-contents ">
|
|
11389
11522
|
|
|
11390
|
-
|
|
11523
|
+
<p>Restrict the view's queryset to allow only the permitted objects for the given request.</p>
|
|
11391
11524
|
<p>Subclasses (such as nautobot.extras.api.views.JobModelViewSet) may wish to override this.</p>
|
|
11392
11525
|
<p>Called by initial(), below.</p>
|
|
11393
11526
|
|
|
@@ -11416,10 +11549,15 @@ For example:</p>
|
|
|
11416
11549
|
|
|
11417
11550
|
<div class="doc doc-contents ">
|
|
11418
11551
|
<p class="doc doc-class-bases">
|
|
11419
|
-
Bases: <code><
|
|
11552
|
+
Bases: <code><span title="rest_framework.serializers.MultipleChoiceField">MultipleChoiceField</span></code></p>
|
|
11553
|
+
|
|
11554
|
+
|
|
11555
|
+
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11556
|
+
|
|
11557
|
+
|
|
11558
|
+
|
|
11420
11559
|
|
|
11421
11560
|
|
|
11422
|
-
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11423
11561
|
|
|
11424
11562
|
|
|
11425
11563
|
|
|
@@ -11445,7 +11583,7 @@ For example:</p>
|
|
|
11445
11583
|
|
|
11446
11584
|
<div class="doc doc-contents ">
|
|
11447
11585
|
|
|
11448
|
-
|
|
11586
|
+
<p>Overload default choices handling to also accept a callable.</p>
|
|
11449
11587
|
|
|
11450
11588
|
</div>
|
|
11451
11589
|
|
|
@@ -11472,10 +11610,15 @@ For example:</p>
|
|
|
11472
11610
|
|
|
11473
11611
|
<div class="doc doc-contents ">
|
|
11474
11612
|
<p class="doc doc-class-bases">
|
|
11475
|
-
Bases: <code><
|
|
11613
|
+
Bases: <code><span title="drf_spectacular.openapi.AutoSchema">AutoSchema</span></code></p>
|
|
11614
|
+
|
|
11615
|
+
|
|
11616
|
+
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11617
|
+
|
|
11618
|
+
|
|
11619
|
+
|
|
11476
11620
|
|
|
11477
11621
|
|
|
11478
|
-
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11479
11622
|
|
|
11480
11623
|
|
|
11481
11624
|
|
|
@@ -11504,7 +11647,7 @@ For example:</p>
|
|
|
11504
11647
|
|
|
11505
11648
|
<div class="doc doc-contents ">
|
|
11506
11649
|
|
|
11507
|
-
|
|
11650
|
+
<p>Custom property for convenience.</p>
|
|
11508
11651
|
</div>
|
|
11509
11652
|
|
|
11510
11653
|
</div>
|
|
@@ -11525,7 +11668,7 @@ For example:</p>
|
|
|
11525
11668
|
|
|
11526
11669
|
<div class="doc doc-contents ">
|
|
11527
11670
|
|
|
11528
|
-
|
|
11671
|
+
<p>Custom property for convenience.</p>
|
|
11529
11672
|
</div>
|
|
11530
11673
|
|
|
11531
11674
|
</div>
|
|
@@ -11543,7 +11686,7 @@ For example:</p>
|
|
|
11543
11686
|
|
|
11544
11687
|
<div class="doc doc-contents ">
|
|
11545
11688
|
|
|
11546
|
-
|
|
11689
|
+
<p>Get the appropriate description for a given API endpoint.</p>
|
|
11547
11690
|
<p>By default, if a specific action doesn't have its own docstring, and neither does the view class,
|
|
11548
11691
|
drf-spectacular will walk up the MRO of the view class until it finds a docstring, and use that.
|
|
11549
11692
|
Most of our viewsets (for better or for worse) do not have docstrings, and so it'll find and use the generic
|
|
@@ -11566,7 +11709,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11566
11709
|
|
|
11567
11710
|
<div class="doc doc-contents ">
|
|
11568
11711
|
|
|
11569
|
-
|
|
11712
|
+
<p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
|
|
11570
11713
|
|
|
11571
11714
|
</div>
|
|
11572
11715
|
|
|
@@ -11583,7 +11726,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11583
11726
|
|
|
11584
11727
|
<div class="doc doc-contents ">
|
|
11585
11728
|
|
|
11586
|
-
|
|
11729
|
+
<p>Extend the base method to handle Nautobot's REST API bulk operations.</p>
|
|
11587
11730
|
<p>Without this extension, every one of our ModelViewSet classes will result in drf-spectacular complaining
|
|
11588
11731
|
about operationId collisions, e.g. between DELETE /api/dcim/devices/ and DELETE /api/dcim/devices/<pk>/ would
|
|
11589
11732
|
both get resolved to the same "dcim_devices_destroy" operation-id and this would make drf-spectacular complain.</p>
|
|
@@ -11604,7 +11747,7 @@ both get resolved to the same "dcim_devices_destroy" operation-id and this would
|
|
|
11604
11747
|
|
|
11605
11748
|
<div class="doc doc-contents ">
|
|
11606
11749
|
|
|
11607
|
-
|
|
11750
|
+
<p>Return the request serializer (used for describing/parsing the request payload) for this endpoint.</p>
|
|
11608
11751
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11609
11752
|
with required data (PATCH, POST, PUT). In those cases we replace FooSerializer with a dynamically-defined
|
|
11610
11753
|
WritableFooSerializer class in order to more accurately represent the available options on write.</p>
|
|
@@ -11626,7 +11769,7 @@ require a list of serializers as input, rather than a single one.</p>
|
|
|
11626
11769
|
|
|
11627
11770
|
<div class="doc doc-contents ">
|
|
11628
11771
|
|
|
11629
|
-
|
|
11772
|
+
<p>Return the response serializer (used for describing the response payload) for this endpoint.</p>
|
|
11630
11773
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11631
11774
|
to a bulk endpoint, which returns a list of serializers, rather than a single one.</p>
|
|
11632
11775
|
|
|
@@ -11645,7 +11788,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11645
11788
|
|
|
11646
11789
|
<div class="doc doc-contents ">
|
|
11647
11790
|
|
|
11648
|
-
|
|
11791
|
+
<p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
|
|
11649
11792
|
<p>Based on drf_yasg.utils.get_serializer_ref_name().</p>
|
|
11650
11793
|
|
|
11651
11794
|
</div>
|
|
@@ -11663,7 +11806,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11663
11806
|
|
|
11664
11807
|
<div class="doc doc-contents ">
|
|
11665
11808
|
|
|
11666
|
-
|
|
11809
|
+
<p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
|
|
11667
11810
|
<p>If no [Bulk]WritableFooSerializer class is needed, returns None instead.</p>
|
|
11668
11811
|
|
|
11669
11812
|
</div>
|
|
@@ -11681,7 +11824,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11681
11824
|
|
|
11682
11825
|
<div class="doc doc-contents ">
|
|
11683
11826
|
|
|
11684
|
-
|
|
11827
|
+
<p>Re-add required <code>id</code> field on bulk_partial_update action.</p>
|
|
11685
11828
|
<p>drf-spectacular clears the <code>required</code> list for any partial serializers in its <code>_map_basic_serializer()</code>,
|
|
11686
11829
|
but Nautobot bulk partial updates require the <code>id</code> field to be specified for each object to update.</p>
|
|
11687
11830
|
|
|
@@ -11710,10 +11853,15 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11710
11853
|
|
|
11711
11854
|
<div class="doc doc-contents ">
|
|
11712
11855
|
<p class="doc doc-class-bases">
|
|
11713
|
-
Bases: <code><
|
|
11856
|
+
Bases: <code><span title="rest_framework.parsers.BaseParser">BaseParser</span></code></p>
|
|
11857
|
+
|
|
11858
|
+
|
|
11859
|
+
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11860
|
+
|
|
11861
|
+
|
|
11862
|
+
|
|
11714
11863
|
|
|
11715
11864
|
|
|
11716
|
-
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11717
11865
|
|
|
11718
11866
|
|
|
11719
11867
|
|
|
@@ -11739,7 +11887,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11739
11887
|
|
|
11740
11888
|
<div class="doc doc-contents ">
|
|
11741
11889
|
|
|
11742
|
-
|
|
11890
|
+
<p>Parse a single row of CSV data (represented as a dict) into a dict suitable for consumption by the serializer.</p>
|
|
11743
11891
|
<p>TODO: it would be more elegant if our serializer fields knew how to deserialize the CSV data themselves;
|
|
11744
11892
|
could we then literally have the parser just return list(reader) and not need this function at all?</p>
|
|
11745
11893
|
|
|
@@ -11768,10 +11916,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11768
11916
|
|
|
11769
11917
|
<div class="doc doc-contents ">
|
|
11770
11918
|
<p class="doc doc-class-bases">
|
|
11771
|
-
Bases: <code><
|
|
11919
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.mixins.WritableSerializerMixin" href="#nautobot.apps.api.WritableSerializerMixin">WritableSerializerMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedRelatedField">HyperlinkedRelatedField</span></code></p>
|
|
11920
|
+
|
|
11921
|
+
|
|
11922
|
+
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11923
|
+
|
|
11924
|
+
|
|
11925
|
+
|
|
11772
11926
|
|
|
11773
11927
|
|
|
11774
|
-
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11775
11928
|
|
|
11776
11929
|
|
|
11777
11930
|
|
|
@@ -11797,7 +11950,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11797
11950
|
|
|
11798
11951
|
<div class="doc doc-contents ">
|
|
11799
11952
|
|
|
11800
|
-
|
|
11953
|
+
<p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
|
|
11801
11954
|
<p>DRF defaults to '{model_name}-detail' instead of '{app_label}:{model_name}-detail'.</p>
|
|
11802
11955
|
|
|
11803
11956
|
</div>
|
|
@@ -11815,7 +11968,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11815
11968
|
|
|
11816
11969
|
<div class="doc doc-contents ">
|
|
11817
11970
|
|
|
11818
|
-
|
|
11971
|
+
<p>Convert potentially nested representation to a model instance.</p>
|
|
11819
11972
|
|
|
11820
11973
|
</div>
|
|
11821
11974
|
|
|
@@ -11832,7 +11985,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11832
11985
|
|
|
11833
11986
|
<div class="doc doc-contents ">
|
|
11834
11987
|
|
|
11835
|
-
|
|
11988
|
+
<p>Convert URL representation to a brief nested representation.</p>
|
|
11836
11989
|
|
|
11837
11990
|
</div>
|
|
11838
11991
|
|
|
@@ -11859,15 +12012,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11859
12012
|
|
|
11860
12013
|
<div class="doc doc-contents ">
|
|
11861
12014
|
<p class="doc doc-class-bases">
|
|
11862
|
-
Bases: <code><
|
|
12015
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.RelationshipModelSerializerMixin" href="#nautobot.apps.api.RelationshipModelSerializerMixin">RelationshipModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.CustomFieldModelSerializerMixin" href="#nautobot.apps.api.CustomFieldModelSerializerMixin">CustomFieldModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.NotesSerializerMixin" href="#nautobot.apps.api.NotesSerializerMixin">NotesSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11863
12016
|
|
|
11864
12017
|
|
|
11865
|
-
|
|
12018
|
+
<p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
|
|
11866
12019
|
<p>Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.</p>
|
|
11867
12020
|
|
|
11868
12021
|
|
|
11869
12022
|
|
|
11870
12023
|
|
|
12024
|
+
|
|
12025
|
+
|
|
12026
|
+
|
|
12027
|
+
|
|
12028
|
+
|
|
11871
12029
|
<div class="doc doc-children">
|
|
11872
12030
|
|
|
11873
12031
|
|
|
@@ -11899,15 +12057,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11899
12057
|
|
|
11900
12058
|
<div class="doc doc-contents ">
|
|
11901
12059
|
<p class="doc doc-class-bases">
|
|
11902
|
-
Bases: <code><
|
|
12060
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.NotesViewSetMixin" href="#nautobot.apps.api.NotesViewSetMixin">NotesViewSetMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.CustomFieldModelViewSet" href="#nautobot.apps.api.CustomFieldModelViewSet">CustomFieldModelViewSet</a></code></p>
|
|
11903
12061
|
|
|
11904
12062
|
|
|
11905
|
-
|
|
12063
|
+
<p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
|
|
11906
12064
|
<p>Can also be used for models derived from BaseModel, so long as they support Notes.</p>
|
|
11907
12065
|
|
|
11908
12066
|
|
|
11909
12067
|
|
|
11910
12068
|
|
|
12069
|
+
|
|
12070
|
+
|
|
12071
|
+
|
|
12072
|
+
|
|
12073
|
+
|
|
11911
12074
|
<div class="doc doc-children">
|
|
11912
12075
|
|
|
11913
12076
|
|
|
@@ -11939,10 +12102,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11939
12102
|
|
|
11940
12103
|
<div class="doc doc-contents ">
|
|
11941
12104
|
<p class="doc doc-class-bases">
|
|
11942
|
-
Bases: <code><
|
|
12105
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12106
|
+
|
|
12107
|
+
|
|
12108
|
+
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
12109
|
+
|
|
12110
|
+
|
|
12111
|
+
|
|
11943
12112
|
|
|
11944
12113
|
|
|
11945
|
-
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
11946
12114
|
|
|
11947
12115
|
|
|
11948
12116
|
|
|
@@ -11968,7 +12136,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11968
12136
|
|
|
11969
12137
|
<div class="doc doc-contents ">
|
|
11970
12138
|
|
|
11971
|
-
|
|
12139
|
+
<p>Ensure that fields includes "notes_url" field if applicable.</p>
|
|
11972
12140
|
|
|
11973
12141
|
</div>
|
|
11974
12142
|
|
|
@@ -11999,6 +12167,11 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11999
12167
|
|
|
12000
12168
|
|
|
12001
12169
|
|
|
12170
|
+
|
|
12171
|
+
|
|
12172
|
+
|
|
12173
|
+
|
|
12174
|
+
|
|
12002
12175
|
<div class="doc doc-children">
|
|
12003
12176
|
|
|
12004
12177
|
|
|
@@ -12021,10 +12194,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12021
12194
|
|
|
12022
12195
|
<div class="doc doc-contents ">
|
|
12023
12196
|
<p class="doc doc-class-bases">
|
|
12024
|
-
Bases: <code><
|
|
12197
|
+
Bases: <code><span title="nautobot.core.api.authentication.TokenPermissions">TokenPermissions</span></code></p>
|
|
12198
|
+
|
|
12199
|
+
|
|
12200
|
+
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
12201
|
+
|
|
12202
|
+
|
|
12203
|
+
|
|
12025
12204
|
|
|
12026
12205
|
|
|
12027
|
-
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
12028
12206
|
|
|
12029
12207
|
|
|
12030
12208
|
|
|
@@ -12059,7 +12237,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12059
12237
|
|
|
12060
12238
|
<div class="doc doc-contents ">
|
|
12061
12239
|
|
|
12062
|
-
|
|
12240
|
+
<p>API methods for returning or creating notes on an object.</p>
|
|
12063
12241
|
|
|
12064
12242
|
</div>
|
|
12065
12243
|
|
|
@@ -12076,7 +12254,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12076
12254
|
|
|
12077
12255
|
<div class="doc doc-contents ">
|
|
12078
12256
|
|
|
12079
|
-
|
|
12257
|
+
<p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
|
|
12080
12258
|
|
|
12081
12259
|
</div>
|
|
12082
12260
|
|
|
@@ -12103,10 +12281,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12103
12281
|
|
|
12104
12282
|
<div class="doc doc-contents ">
|
|
12105
12283
|
<p class="doc doc-class-bases">
|
|
12106
|
-
Bases: <code><
|
|
12284
|
+
Bases: <code><span title="rest_framework.serializers.CharField">CharField</span></code></p>
|
|
12285
|
+
|
|
12286
|
+
|
|
12287
|
+
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
12288
|
+
|
|
12289
|
+
|
|
12290
|
+
|
|
12107
12291
|
|
|
12108
12292
|
|
|
12109
|
-
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
12110
12293
|
|
|
12111
12294
|
|
|
12112
12295
|
|
|
@@ -12132,7 +12315,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12132
12315
|
|
|
12133
12316
|
<div class="doc doc-contents ">
|
|
12134
12317
|
|
|
12135
|
-
|
|
12318
|
+
<p>Default read_only to True as this should never be a writable field.</p>
|
|
12136
12319
|
|
|
12137
12320
|
</div>
|
|
12138
12321
|
|
|
@@ -12149,7 +12332,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12149
12332
|
|
|
12150
12333
|
<div class="doc doc-contents ">
|
|
12151
12334
|
|
|
12152
|
-
|
|
12335
|
+
<p>Get the content-type of this serializer's model.</p>
|
|
12153
12336
|
<p>Implemented this way because <code>_value</code> may be None when generating the schema.</p>
|
|
12154
12337
|
|
|
12155
12338
|
</div>
|
|
@@ -12178,8 +12361,13 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12178
12361
|
<div class="doc doc-contents ">
|
|
12179
12362
|
|
|
12180
12363
|
|
|
12181
|
-
|
|
12182
|
-
which fields
|
|
12364
|
+
<p>Serializer mixin that adjusts its fields based on the <code>include</code> and <code>exclude_m2m</code> query parameters in a request.</p>
|
|
12365
|
+
<p>The serializer's <code>Meta.opt_in_fields</code> controls which fields are influenced by <code>include</code>.</p>
|
|
12366
|
+
|
|
12367
|
+
|
|
12368
|
+
|
|
12369
|
+
|
|
12370
|
+
|
|
12183
12371
|
|
|
12184
12372
|
|
|
12185
12373
|
|
|
@@ -12208,8 +12396,12 @@ which fields should be displayed.</p>
|
|
|
12208
12396
|
|
|
12209
12397
|
<div class="doc doc-contents ">
|
|
12210
12398
|
|
|
12211
|
-
|
|
12212
|
-
<
|
|
12399
|
+
<p>Dynamically adjust the dictionary of fields attributed to this serializer instance.</p>
|
|
12400
|
+
<ul>
|
|
12401
|
+
<li>Removes all serializer fields specified in <code>Meta.opt_in_fields</code> list that aren't specified in the
|
|
12402
|
+
<code>include</code> query parameter. (applies to GET requests only)</li>
|
|
12403
|
+
<li>If the <code>exclude_m2m</code> query parameter is truthy, remove all many-to-many serializer fields for performance.</li>
|
|
12404
|
+
</ul>
|
|
12213
12405
|
<p>As an example, if the serializer specifies that <code>opt_in_fields = ["computed_fields"]</code>
|
|
12214
12406
|
but <code>computed_fields</code> is not specified in the <code>?include</code> query parameter, <code>computed_fields</code> will be popped
|
|
12215
12407
|
from the list of fields.</p>
|
|
@@ -12240,7 +12432,12 @@ from the list of fields.</p>
|
|
|
12240
12432
|
|
|
12241
12433
|
<div class="doc doc-contents ">
|
|
12242
12434
|
<p class="doc doc-class-bases">
|
|
12243
|
-
Bases: <code><
|
|
12435
|
+
Bases: <code><span title="rest_framework.routers.DefaultRouter">DefaultRouter</span></code></p>
|
|
12436
|
+
|
|
12437
|
+
|
|
12438
|
+
|
|
12439
|
+
|
|
12440
|
+
|
|
12244
12441
|
|
|
12245
12442
|
|
|
12246
12443
|
|
|
@@ -12267,7 +12464,7 @@ from the list of fields.</p>
|
|
|
12267
12464
|
|
|
12268
12465
|
<div class="doc doc-contents ">
|
|
12269
12466
|
|
|
12270
|
-
|
|
12467
|
+
<p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
|
|
12271
12468
|
|
|
12272
12469
|
</div>
|
|
12273
12470
|
|
|
@@ -12284,7 +12481,7 @@ from the list of fields.</p>
|
|
|
12284
12481
|
|
|
12285
12482
|
<div class="doc doc-contents ">
|
|
12286
12483
|
|
|
12287
|
-
|
|
12484
|
+
<p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
|
|
12288
12485
|
<p>(Reference: https://github.com/encode/django-rest-framework/pull/8438)</p>
|
|
12289
12486
|
|
|
12290
12487
|
</div>
|
|
@@ -12312,10 +12509,15 @@ from the list of fields.</p>
|
|
|
12312
12509
|
|
|
12313
12510
|
<div class="doc doc-contents ">
|
|
12314
12511
|
<p class="doc doc-class-bases">
|
|
12315
|
-
Bases: <code><
|
|
12512
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ReadOnlyModelViewSet">ReadOnlyModelViewSet</span></code></p>
|
|
12513
|
+
|
|
12514
|
+
|
|
12515
|
+
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12516
|
+
|
|
12517
|
+
|
|
12518
|
+
|
|
12316
12519
|
|
|
12317
12520
|
|
|
12318
|
-
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12319
12521
|
|
|
12320
12522
|
|
|
12321
12523
|
|
|
@@ -12351,10 +12553,15 @@ from the list of fields.</p>
|
|
|
12351
12553
|
|
|
12352
12554
|
<div class="doc doc-contents ">
|
|
12353
12555
|
<p class="doc doc-class-bases">
|
|
12354
|
-
Bases: <code><
|
|
12556
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
12557
|
+
|
|
12558
|
+
|
|
12559
|
+
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12560
|
+
|
|
12561
|
+
|
|
12562
|
+
|
|
12355
12563
|
|
|
12356
12564
|
|
|
12357
|
-
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12358
12565
|
|
|
12359
12566
|
|
|
12360
12567
|
|
|
@@ -12380,7 +12587,7 @@ from the list of fields.</p>
|
|
|
12380
12587
|
|
|
12381
12588
|
<div class="doc doc-contents ">
|
|
12382
12589
|
|
|
12383
|
-
|
|
12590
|
+
<p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
|
|
12384
12591
|
|
|
12385
12592
|
</div>
|
|
12386
12593
|
|
|
@@ -12407,15 +12614,20 @@ from the list of fields.</p>
|
|
|
12407
12614
|
|
|
12408
12615
|
<div class="doc doc-contents ">
|
|
12409
12616
|
<p class="doc doc-class-bases">
|
|
12410
|
-
Bases: <code><
|
|
12617
|
+
Bases: <code><span title="rest_framework.relations.PrimaryKeyRelatedField">PrimaryKeyRelatedField</span></code></p>
|
|
12411
12618
|
|
|
12412
12619
|
|
|
12413
|
-
|
|
12620
|
+
<p>Extends PrimaryKeyRelatedField to return a serialized object on read. This is useful for representing related
|
|
12414
12621
|
objects in a ManyToManyField while still allowing a set of primary keys to be written.</p>
|
|
12415
12622
|
|
|
12416
12623
|
|
|
12417
12624
|
|
|
12418
12625
|
|
|
12626
|
+
|
|
12627
|
+
|
|
12628
|
+
|
|
12629
|
+
|
|
12630
|
+
|
|
12419
12631
|
<div class="doc doc-children">
|
|
12420
12632
|
|
|
12421
12633
|
|
|
@@ -12447,7 +12659,12 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12447
12659
|
|
|
12448
12660
|
<div class="doc doc-contents ">
|
|
12449
12661
|
<p class="doc doc-class-bases">
|
|
12450
|
-
Bases: <code><
|
|
12662
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12663
|
+
|
|
12664
|
+
|
|
12665
|
+
|
|
12666
|
+
|
|
12667
|
+
|
|
12451
12668
|
|
|
12452
12669
|
|
|
12453
12670
|
|
|
@@ -12474,7 +12691,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12474
12691
|
|
|
12475
12692
|
<div class="doc doc-contents ">
|
|
12476
12693
|
|
|
12477
|
-
|
|
12694
|
+
<p>Ensure that 'tags' field is always present except on nested serializers.</p>
|
|
12478
12695
|
|
|
12479
12696
|
</div>
|
|
12480
12697
|
|
|
@@ -12501,10 +12718,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12501
12718
|
|
|
12502
12719
|
<div class="doc doc-contents ">
|
|
12503
12720
|
<p class="doc doc-class-bases">
|
|
12504
|
-
Bases: <code><
|
|
12721
|
+
Bases: <code><span title="timezone_field.rest_framework.TimeZoneSerializerField">TimeZoneSerializerField</span></code></p>
|
|
12722
|
+
|
|
12723
|
+
|
|
12724
|
+
<p>Represents a time zone as a string.</p>
|
|
12725
|
+
|
|
12726
|
+
|
|
12727
|
+
|
|
12505
12728
|
|
|
12506
12729
|
|
|
12507
|
-
<p>Represents a time zone as a string.</p>
|
|
12508
12730
|
|
|
12509
12731
|
|
|
12510
12732
|
</div>
|
|
@@ -12524,10 +12746,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12524
12746
|
|
|
12525
12747
|
<div class="doc doc-contents ">
|
|
12526
12748
|
<p class="doc doc-class-bases">
|
|
12527
|
-
Bases: <code><
|
|
12749
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12750
|
+
|
|
12751
|
+
|
|
12752
|
+
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12753
|
+
|
|
12754
|
+
|
|
12755
|
+
|
|
12528
12756
|
|
|
12529
12757
|
|
|
12530
|
-
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12531
12758
|
|
|
12532
12759
|
|
|
12533
12760
|
|
|
@@ -12553,7 +12780,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12553
12780
|
|
|
12554
12781
|
<div class="doc doc-contents ">
|
|
12555
12782
|
|
|
12556
|
-
|
|
12783
|
+
<p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
|
|
12557
12784
|
|
|
12558
12785
|
</div>
|
|
12559
12786
|
|
|
@@ -12570,7 +12797,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12570
12797
|
|
|
12571
12798
|
<div class="doc doc-contents ">
|
|
12572
12799
|
|
|
12573
|
-
|
|
12800
|
+
<p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
|
|
12574
12801
|
|
|
12575
12802
|
</div>
|
|
12576
12803
|
|
|
@@ -12597,15 +12824,20 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12597
12824
|
|
|
12598
12825
|
<div class="doc doc-contents ">
|
|
12599
12826
|
<p class="doc doc-class-bases">
|
|
12600
|
-
Bases: <code><
|
|
12827
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12601
12828
|
|
|
12602
12829
|
|
|
12603
|
-
|
|
12830
|
+
<p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
|
|
12604
12831
|
validation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)</p>
|
|
12605
12832
|
|
|
12606
12833
|
|
|
12607
12834
|
|
|
12608
12835
|
|
|
12836
|
+
|
|
12837
|
+
|
|
12838
|
+
|
|
12839
|
+
|
|
12840
|
+
|
|
12609
12841
|
<div class="doc doc-children">
|
|
12610
12842
|
|
|
12611
12843
|
|
|
@@ -12637,10 +12869,10 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
|
|
|
12637
12869
|
|
|
12638
12870
|
<div class="doc doc-contents ">
|
|
12639
12871
|
<p class="doc doc-class-bases">
|
|
12640
|
-
Bases: <code><
|
|
12872
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12641
12873
|
|
|
12642
12874
|
|
|
12643
|
-
|
|
12875
|
+
<p>Returns a nested representation of an object on read, but accepts either the nested representation or the
|
|
12644
12876
|
primary key value on write operations.</p>
|
|
12645
12877
|
<p>Note that subclasses will always have a read-only <code>object_type</code> field, which represents the content-type of this
|
|
12646
12878
|
serializer's associated model (e.g. "dcim.device"). This is required as the OpenAPI schema, using the
|
|
@@ -12650,6 +12882,11 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12650
12882
|
|
|
12651
12883
|
|
|
12652
12884
|
|
|
12885
|
+
|
|
12886
|
+
|
|
12887
|
+
|
|
12888
|
+
|
|
12889
|
+
|
|
12653
12890
|
<div class="doc doc-children">
|
|
12654
12891
|
|
|
12655
12892
|
|
|
@@ -12682,7 +12919,7 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12682
12919
|
<div class="doc doc-contents ">
|
|
12683
12920
|
|
|
12684
12921
|
|
|
12685
|
-
|
|
12922
|
+
<p>WritableSerializerMixin provides the to_internal_value() function.
|
|
12686
12923
|
The function provides the ability to write API requests that identify unique objects based on
|
|
12687
12924
|
combinations of fields other than the primary key.
|
|
12688
12925
|
e.g:
|
|
@@ -12693,6 +12930,11 @@ vs
|
|
|
12693
12930
|
|
|
12694
12931
|
|
|
12695
12932
|
|
|
12933
|
+
|
|
12934
|
+
|
|
12935
|
+
|
|
12936
|
+
|
|
12937
|
+
|
|
12696
12938
|
<div class="doc doc-children">
|
|
12697
12939
|
|
|
12698
12940
|
|
|
@@ -12714,7 +12956,7 @@ vs
|
|
|
12714
12956
|
|
|
12715
12957
|
<div class="doc doc-contents ">
|
|
12716
12958
|
|
|
12717
|
-
|
|
12959
|
+
<p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
|
|
12718
12960
|
|
|
12719
12961
|
</div>
|
|
12720
12962
|
|
|
@@ -12731,7 +12973,7 @@ vs
|
|
|
12731
12973
|
|
|
12732
12974
|
<div class="doc doc-contents ">
|
|
12733
12975
|
|
|
12734
|
-
|
|
12976
|
+
<p>Data could be a dictionary and an int (for the User model) or a str that represents the primary key.
|
|
12735
12977
|
If it is a dictionary, we return it after remove non-filter fields.
|
|
12736
12978
|
If it is a primary key, we return a dictionary object formatted like this {"pk": pk}</p>
|
|
12737
12979
|
|
|
@@ -12750,7 +12992,7 @@ If it is a primary key, we return a dictionary object formatted like this {"pk":
|
|
|
12750
12992
|
|
|
12751
12993
|
<div class="doc doc-contents ">
|
|
12752
12994
|
|
|
12753
|
-
|
|
12995
|
+
<p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
|
|
12754
12996
|
data any serializer fields that do not correspond to a specific model field</p>
|
|
12755
12997
|
|
|
12756
12998
|
</div>
|
|
@@ -12768,7 +13010,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12768
13010
|
|
|
12769
13011
|
<div class="doc doc-contents ">
|
|
12770
13012
|
|
|
12771
|
-
|
|
13013
|
+
<p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
|
|
12772
13014
|
|
|
12773
13015
|
</div>
|
|
12774
13016
|
|
|
@@ -12794,7 +13036,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12794
13036
|
|
|
12795
13037
|
<div class="doc doc-contents ">
|
|
12796
13038
|
|
|
12797
|
-
|
|
13039
|
+
<p>Translate a dictionary of attributes to a nested set of parameters suitable for QuerySet filtering. For example:</p>
|
|
12798
13040
|
<div class="highlight"><pre><span></span><code>{
|
|
12799
13041
|
"name": "Foo",
|
|
12800
13042
|
"rack": {
|
|
@@ -12827,7 +13069,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12827
13069
|
|
|
12828
13070
|
<div class="doc doc-contents ">
|
|
12829
13071
|
|
|
12830
|
-
|
|
13072
|
+
<p>Dynamically import a class from an absolute path string</p>
|
|
12831
13073
|
|
|
12832
13074
|
</div>
|
|
12833
13075
|
|
|
@@ -12844,7 +13086,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12844
13086
|
|
|
12845
13087
|
<div class="doc doc-contents ">
|
|
12846
13088
|
|
|
12847
|
-
|
|
13089
|
+
<p>Returns the serializer of an api_version</p>
|
|
12848
13090
|
|
|
12849
13091
|
|
|
12850
13092
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12859,9 +13101,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12859
13101
|
</thead>
|
|
12860
13102
|
<tbody>
|
|
12861
13103
|
<tr class="doc-section-item">
|
|
12862
|
-
<td><code>serializer_choices</code></td>
|
|
12863
13104
|
<td>
|
|
12864
|
-
|
|
13105
|
+
<code>serializer_choices</code>
|
|
13106
|
+
</td>
|
|
13107
|
+
<td>
|
|
13108
|
+
<code>tuple</code>
|
|
12865
13109
|
</td>
|
|
12866
13110
|
<td>
|
|
12867
13111
|
<div class="doc-md-description">
|
|
@@ -12873,9 +13117,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12873
13117
|
</td>
|
|
12874
13118
|
</tr>
|
|
12875
13119
|
<tr class="doc-section-item">
|
|
12876
|
-
<td><code>api_version</code></td>
|
|
12877
13120
|
<td>
|
|
12878
|
-
|
|
13121
|
+
<code>api_version</code>
|
|
13122
|
+
</td>
|
|
13123
|
+
<td>
|
|
13124
|
+
<code>str</code>
|
|
12879
13125
|
</td>
|
|
12880
13126
|
<td>
|
|
12881
13127
|
<div class="doc-md-description">
|
|
@@ -12901,7 +13147,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12901
13147
|
<tbody>
|
|
12902
13148
|
<tr class="doc-section-item">
|
|
12903
13149
|
<td>
|
|
12904
|
-
<code
|
|
13150
|
+
<code>Serializer</code>
|
|
12905
13151
|
</td>
|
|
12906
13152
|
<td>
|
|
12907
13153
|
<div class="doc-md-description">
|
|
@@ -12927,7 +13173,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12927
13173
|
|
|
12928
13174
|
<div class="doc doc-contents ">
|
|
12929
13175
|
|
|
12930
|
-
|
|
13176
|
+
<p>Dynamically resolve and return the appropriate serializer for a model.</p>
|
|
12931
13177
|
|
|
12932
13178
|
|
|
12933
13179
|
<p><span class="doc-section-title">Raises:</span></p>
|
|
@@ -12941,7 +13187,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12941
13187
|
<tbody>
|
|
12942
13188
|
<tr class="doc-section-item">
|
|
12943
13189
|
<td>
|
|
12944
|
-
<code
|
|
13190
|
+
<code>SerializerNotFound</code>
|
|
12945
13191
|
</td>
|
|
12946
13192
|
<td>
|
|
12947
13193
|
<div class="doc-md-description">
|
|
@@ -12967,7 +13213,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12967
13213
|
|
|
12968
13214
|
<div class="doc doc-contents ">
|
|
12969
13215
|
|
|
12970
|
-
|
|
13216
|
+
<p>Derive the view name from its associated model, if it has one. Fall back to DRF's built-in <code>get_view_name</code>.</p>
|
|
12971
13217
|
|
|
12972
13218
|
</div>
|
|
12973
13219
|
|
|
@@ -12984,7 +13230,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12984
13230
|
|
|
12985
13231
|
<div class="doc doc-contents ">
|
|
12986
13232
|
|
|
12987
|
-
|
|
13233
|
+
<p>Return True of the request is being made via the REST API.</p>
|
|
12988
13234
|
|
|
12989
13235
|
</div>
|
|
12990
13236
|
|
|
@@ -13001,7 +13247,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13001
13247
|
|
|
13002
13248
|
<div class="doc doc-contents ">
|
|
13003
13249
|
|
|
13004
|
-
|
|
13250
|
+
<p>Handle exceptions and return a useful error message for REST API requests.</p>
|
|
13005
13251
|
|
|
13006
13252
|
</div>
|
|
13007
13253
|
|
|
@@ -13018,7 +13264,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13018
13264
|
|
|
13019
13265
|
<div class="doc doc-contents ">
|
|
13020
13266
|
|
|
13021
|
-
|
|
13267
|
+
<p>Returns appropriate serializer class depending on request api_version, and swagger_fake_view</p>
|
|
13022
13268
|
|
|
13023
13269
|
|
|
13024
13270
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13033,7 +13279,9 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13033
13279
|
</thead>
|
|
13034
13280
|
<tbody>
|
|
13035
13281
|
<tr class="doc-section-item">
|
|
13036
|
-
<td
|
|
13282
|
+
<td>
|
|
13283
|
+
<code>obj</code>
|
|
13284
|
+
</td>
|
|
13037
13285
|
<td>
|
|
13038
13286
|
<code>ViewSet instance</code>
|
|
13039
13287
|
</td>
|
|
@@ -13047,9 +13295,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13047
13295
|
</td>
|
|
13048
13296
|
</tr>
|
|
13049
13297
|
<tr class="doc-section-item">
|
|
13050
|
-
<td><code>serializer_choices</code></td>
|
|
13051
13298
|
<td>
|
|
13052
|
-
|
|
13299
|
+
<code>serializer_choices</code>
|
|
13300
|
+
</td>
|
|
13301
|
+
<td>
|
|
13302
|
+
<code>tuple</code>
|
|
13053
13303
|
</td>
|
|
13054
13304
|
<td>
|
|
13055
13305
|
<div class="doc-md-description">
|
|
@@ -13061,9 +13311,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13061
13311
|
</td>
|
|
13062
13312
|
</tr>
|
|
13063
13313
|
<tr class="doc-section-item">
|
|
13064
|
-
<td><code>default_serializer</code></td>
|
|
13065
13314
|
<td>
|
|
13066
|
-
|
|
13315
|
+
<code>default_serializer</code>
|
|
13316
|
+
</td>
|
|
13317
|
+
<td>
|
|
13318
|
+
<code>Serializer</code>
|
|
13067
13319
|
</td>
|
|
13068
13320
|
<td>
|
|
13069
13321
|
<div class="doc-md-description">
|
|
@@ -13234,7 +13486,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13234
13486
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
13235
13487
|
|
|
13236
13488
|
|
|
13237
|
-
<script src="../../../assets/javascripts/bundle.
|
|
13489
|
+
<script src="../../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
|
|
13238
13490
|
|
|
13239
13491
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
13240
13492
|
|