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