nautobot 2.4.0b1__py3-none-any.whl → 2.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/tests/integration/test_circuits_bulk_operations.py +43 -0
- nautobot/circuits/tests/integration/test_relationships.py +1 -1
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/apps/__init__.py +0 -5
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/generic/object_bulk_destroy.html +1 -1
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +514 -5
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +492 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/git.py +7 -2
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +136 -41
- nautobot/core/views/renderers.py +6 -6
- nautobot/core/views/utils.py +2 -2
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +48 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +9 -6
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/cable.html +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device/base.html +1 -1
- nautobot/dcim/templates/dcim/device.html +3 -11
- nautobot/dcim/templates/dcim/device_component.html +1 -1
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/devicetype.html +1 -1
- nautobot/dcim/templates/dcim/location.html +2 -10
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/locationtype.html +1 -1
- nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -1
- nautobot/dcim/templates/dcim/manufacturer.html +1 -1
- nautobot/dcim/templates/dcim/platform.html +1 -1
- nautobot/dcim/templates/dcim/powerfeed.html +1 -1
- nautobot/dcim/templates/dcim/powerpanel.html +1 -1
- nautobot/dcim/templates/dcim/rack.html +2 -10
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackgroup.html +1 -1
- nautobot/dcim/templates/dcim/rackreservation.html +3 -11
- nautobot/dcim/templates/dcim/virtualchassis.html +1 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_operations.py +30 -0
- nautobot/dcim/tests/integration/test_location_bulk_operations.py +43 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +30 -84
- nautobot/dcim/views.py +13 -28
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +123 -85
- nautobot/extras/api/views.py +33 -30
- nautobot/extras/constants.py +3 -0
- nautobot/extras/datasources/git.py +125 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/migrations/0122_add_graphqlquery_owner_content_type.py +34 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +41 -23
- nautobot/extras/models/datasources.py +85 -0
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +17 -2
- nautobot/extras/models/relationships.py +17 -5
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +15 -1
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/computedfield.html +1 -1
- nautobot/extras/templates/extras/configcontext.html +1 -1
- nautobot/extras/templates/extras/configcontextschema.html +1 -1
- nautobot/extras/templates/extras/customfield.html +1 -1
- nautobot/extras/templates/extras/customlink.html +1 -1
- nautobot/extras/templates/extras/dynamicgroup.html +2 -10
- nautobot/extras/templates/extras/exporttemplate.html +1 -1
- nautobot/extras/templates/extras/gitrepository.html +1 -1
- nautobot/extras/templates/extras/graphqlquery.html +1 -1
- nautobot/extras/templates/extras/job_detail.html +17 -1
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobbutton_retrieve.html +1 -1
- nautobot/extras/templates/extras/jobhook.html +1 -1
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/jobresult.html +1 -1
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/objectchange.html +1 -1
- nautobot/extras/templates/extras/plugin_detail.html +33 -16
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templates/extras/relationship.html +1 -63
- nautobot/extras/templates/extras/role_retrieve.html +1 -1
- nautobot/extras/templates/extras/scheduledjob.html +1 -1
- nautobot/extras/templates/extras/secret.html +1 -1
- nautobot/extras/templates/extras/secretsgroup.html +1 -1
- nautobot/extras/templates/extras/status.html +1 -1
- nautobot/extras/templates/extras/tag.html +1 -1
- nautobot/extras/templates/extras/webhook.html +1 -1
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_interfaces.gql +8 -0
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_names.gql +5 -0
- nautobot/extras/tests/git_data/02-invalid-files/graphql_queries/bad_device_names.gql +5 -0
- nautobot/extras/tests/git_helper.py +9 -1
- nautobot/extras/tests/integration/__init__.py +29 -16
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +19 -13
- nautobot/extras/tests/test_customfields.py +50 -52
- nautobot/extras/tests/test_datasources.py +29 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +299 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_utils.py +22 -1
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +20 -10
- nautobot/extras/views.py +85 -110
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +74 -18
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +25 -9
- nautobot/ipam/templates/ipam/ipaddress.html +2 -10
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +2 -10
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/rir.html +1 -1
- nautobot/ipam/templates/ipam/routetarget.html +1 -1
- nautobot/ipam/templates/ipam/service.html +1 -1
- nautobot/ipam/templates/ipam/vlan.html +2 -10
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlangroup.html +1 -1
- nautobot/ipam/templates/ipam/vrf.html +1 -1
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +119 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_utils.py +41 -2
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +54 -17
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +131 -14
- nautobot/project-static/docs/apps/index.html +131 -14
- nautobot/project-static/docs/apps/nautobot-apps.html +132 -16
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.60a45f97.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.60a45f97.min.js.map} +2 -2
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js → search.f8cc74c7.min.js} +1 -1
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js.map → search.f8cc74c7.min.js.map} +1 -1
- nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css → main.a40c8224.min.css} +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +147 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +459 -132
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +175 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +180 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +138 -16
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +137 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +164 -27
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +187 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +193 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +216 -48
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +324 -75
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +666 -175
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +194 -46
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +538 -177
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +578 -221
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +145 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +156 -25
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +492 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +705 -215
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +943 -422
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +619 -200
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +474 -159
- nautobot/project-static/docs/development/apps/api/configuration-view.html +131 -14
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/global-search.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/graphql.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +153 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +131 -14
- nautobot/project-static/docs/development/apps/api/prometheus.html +131 -14
- nautobot/project-static/docs/development/apps/api/setup.html +131 -14
- nautobot/project-static/docs/development/apps/api/testing.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/base-template.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/notes.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +137 -16
- nautobot/project-static/docs/development/apps/api/views/urls.html +131 -14
- nautobot/project-static/docs/development/apps/index.html +131 -14
- nautobot/project-static/docs/development/apps/migration/code-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/from-v1.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +135 -18
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +297 -25
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +131 -14
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +131 -14
- nautobot/project-static/docs/development/core/application-registry.html +131 -14
- nautobot/project-static/docs/development/core/best-practices.html +131 -14
- nautobot/project-static/docs/development/core/bootstrap-ui.html +131 -14
- nautobot/project-static/docs/development/core/caching.html +131 -14
- nautobot/project-static/docs/development/core/controllers.html +131 -14
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +158 -84
- nautobot/project-static/docs/development/core/generic-views.html +131 -14
- nautobot/project-static/docs/development/core/getting-started.html +334 -234
- nautobot/project-static/docs/development/core/homepage.html +134 -17
- nautobot/project-static/docs/development/core/index.html +131 -14
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9829 -0
- nautobot/project-static/docs/development/core/model-checklist.html +141 -22
- nautobot/project-static/docs/development/core/model-features.html +131 -14
- nautobot/project-static/docs/development/core/natural-keys.html +131 -14
- nautobot/project-static/docs/development/core/navigation-menu.html +131 -14
- nautobot/project-static/docs/development/core/release-checklist.html +134 -17
- nautobot/project-static/docs/development/core/role-internals.html +131 -14
- nautobot/project-static/docs/development/core/settings.html +131 -14
- nautobot/project-static/docs/development/core/style-guide.html +134 -17
- nautobot/project-static/docs/development/core/templates.html +132 -15
- nautobot/project-static/docs/development/core/testing.html +131 -14
- nautobot/project-static/docs/development/core/ui-component-framework.html +454 -283
- nautobot/project-static/docs/development/core/user-preferences.html +131 -14
- nautobot/project-static/docs/development/index.html +131 -14
- nautobot/project-static/docs/development/jobs/index.html +301 -132
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +131 -14
- nautobot/project-static/docs/index.html +139 -33
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +132 -17
- nautobot/project-static/docs/overview/design_philosophy.html +131 -14
- nautobot/project-static/docs/release-notes/index.html +137 -22
- nautobot/project-static/docs/release-notes/version-1.0.html +319 -203
- nautobot/project-static/docs/release-notes/version-1.1.html +316 -200
- nautobot/project-static/docs/release-notes/version-1.2.html +391 -275
- nautobot/project-static/docs/release-notes/version-1.3.html +417 -301
- nautobot/project-static/docs/release-notes/version-1.4.html +502 -387
- nautobot/project-static/docs/release-notes/version-1.5.html +690 -576
- nautobot/project-static/docs/release-notes/version-1.6.html +989 -457
- nautobot/project-static/docs/release-notes/version-2.0.html +613 -499
- nautobot/project-static/docs/release-notes/version-2.1.html +448 -334
- nautobot/project-static/docs/release-notes/version-2.2.html +441 -327
- nautobot/project-static/docs/release-notes/version-2.3.html +1171 -451
- nautobot/project-static/docs/release-notes/version-2.4.html +800 -111
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +303 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +133 -16
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +195 -18
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +134 -17
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +133 -16
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +151 -18
- nautobot/project-static/docs/user-guide/administration/installation/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +132 -15
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/services.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +131 -14
- nautobot/project-static/docs/user-guide/administration/security/index.html +9420 -0
- nautobot/project-static/docs/user-guide/administration/security/notices.html +9843 -0
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +131 -14
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +134 -18
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +135 -22
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +134 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +134 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +236 -34
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +134 -17
- nautobot/project-static/docs/{development/core/local-k8s.html → user-guide/feature-guides/wireless-networks-and-controllers.html} +632 -566
- nautobot/project-static/docs/user-guide/index.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +135 -18
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +451 -16
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +135 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +134 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9797 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +132 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +179 -35
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +159 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +131 -14
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/templates/tenancy/tenant.html +1 -2
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster.html +1 -1
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/clustergroup.html +1 -1
- nautobot/virtualization/templates/virtualization/clustertype.html +1 -1
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -10
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/templates/virtualization/vminterface.html +1 -1
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/METADATA +9 -9
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/RECORD +667 -610
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- /nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css.map → main.a40c8224.min.css.map} +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.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.50">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.a40c8224.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
41
|
+
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1"/></svg>');}</style>
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
218
218
|
<div class="md-source__icon md-icon">
|
|
219
219
|
|
|
220
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
220
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
221
221
|
</div>
|
|
222
222
|
<div class="md-source__repository">
|
|
223
223
|
GitHub
|
|
@@ -377,7 +377,7 @@
|
|
|
377
377
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
378
378
|
<div class="md-source__icon md-icon">
|
|
379
379
|
|
|
380
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
380
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
381
381
|
</div>
|
|
382
382
|
<div class="md-source__repository">
|
|
383
383
|
GitHub
|
|
@@ -1697,6 +1697,81 @@
|
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
|
|
1721
|
+
<div class="md-nav__link md-nav__container">
|
|
1722
|
+
<a href="../../../user-guide/administration/security/index.html" class="md-nav__link ">
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
<span class="md-ellipsis">
|
|
1726
|
+
Security
|
|
1727
|
+
</span>
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
</a>
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
<label class="md-nav__link " for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
|
|
1734
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1735
|
+
</label>
|
|
1736
|
+
|
|
1737
|
+
</div>
|
|
1738
|
+
|
|
1739
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
|
|
1740
|
+
<label class="md-nav__title" for="__nav_2_1_7">
|
|
1741
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1742
|
+
Security
|
|
1743
|
+
</label>
|
|
1744
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
<li class="md-nav__item">
|
|
1753
|
+
<a href="../../../user-guide/administration/security/notices.html" class="md-nav__link">
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
<span class="md-ellipsis">
|
|
1757
|
+
Notices
|
|
1758
|
+
</span>
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
</a>
|
|
1762
|
+
</li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
</ul>
|
|
1768
|
+
</nav>
|
|
1769
|
+
|
|
1770
|
+
</li>
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1700
1775
|
</ul>
|
|
1701
1776
|
</nav>
|
|
1702
1777
|
|
|
@@ -2112,6 +2187,27 @@
|
|
|
2112
2187
|
|
|
2113
2188
|
|
|
2114
2189
|
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
<li class="md-nav__item">
|
|
2197
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
<span class="md-ellipsis">
|
|
2201
|
+
Wireless Networks and Controllers
|
|
2202
|
+
</span>
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</a>
|
|
2206
|
+
</li>
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
|
|
2115
2211
|
</ul>
|
|
2116
2212
|
</nav>
|
|
2117
2213
|
|
|
@@ -5131,6 +5227,27 @@
|
|
|
5131
5227
|
|
|
5132
5228
|
|
|
5133
5229
|
|
|
5230
|
+
<li class="md-nav__item">
|
|
5231
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5232
|
+
|
|
5233
|
+
|
|
5234
|
+
<span class="md-ellipsis">
|
|
5235
|
+
Kubernetes Job Support
|
|
5236
|
+
</span>
|
|
5237
|
+
|
|
5238
|
+
|
|
5239
|
+
</a>
|
|
5240
|
+
</li>
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
|
|
5244
|
+
|
|
5245
|
+
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
|
|
5250
|
+
|
|
5134
5251
|
<li class="md-nav__item">
|
|
5135
5252
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5253
|
|
|
@@ -7152,6 +7269,15 @@
|
|
|
7152
7269
|
</span>
|
|
7153
7270
|
</a>
|
|
7154
7271
|
|
|
7272
|
+
</li>
|
|
7273
|
+
|
|
7274
|
+
<li class="md-nav__item">
|
|
7275
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
7276
|
+
<span class="md-ellipsis">
|
|
7277
|
+
get_queryset
|
|
7278
|
+
</span>
|
|
7279
|
+
</a>
|
|
7280
|
+
|
|
7155
7281
|
</li>
|
|
7156
7282
|
|
|
7157
7283
|
<li class="md-nav__item">
|
|
@@ -8947,11 +9073,11 @@
|
|
|
8947
9073
|
|
|
8948
9074
|
|
|
8949
9075
|
<li class="md-nav__item">
|
|
8950
|
-
<a href="../../../development/core/
|
|
9076
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
8951
9077
|
|
|
8952
9078
|
|
|
8953
9079
|
<span class="md-ellipsis">
|
|
8954
|
-
|
|
9080
|
+
Minikube Dev Environment for K8s Jobs
|
|
8955
9081
|
</span>
|
|
8956
9082
|
|
|
8957
9083
|
|
|
@@ -10067,6 +10193,15 @@
|
|
|
10067
10193
|
</span>
|
|
10068
10194
|
</a>
|
|
10069
10195
|
|
|
10196
|
+
</li>
|
|
10197
|
+
|
|
10198
|
+
<li class="md-nav__item">
|
|
10199
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
10200
|
+
<span class="md-ellipsis">
|
|
10201
|
+
get_queryset
|
|
10202
|
+
</span>
|
|
10203
|
+
</a>
|
|
10204
|
+
|
|
10070
10205
|
</li>
|
|
10071
10206
|
|
|
10072
10207
|
<li class="md-nav__item">
|
|
@@ -10740,7 +10875,12 @@
|
|
|
10740
10875
|
|
|
10741
10876
|
<div class="doc doc-contents first">
|
|
10742
10877
|
|
|
10743
|
-
|
|
10878
|
+
<p>Helpers for an app to implement a REST API.</p>
|
|
10879
|
+
|
|
10880
|
+
|
|
10881
|
+
|
|
10882
|
+
|
|
10883
|
+
|
|
10744
10884
|
|
|
10745
10885
|
|
|
10746
10886
|
|
|
@@ -10766,10 +10906,15 @@
|
|
|
10766
10906
|
|
|
10767
10907
|
<div class="doc doc-contents ">
|
|
10768
10908
|
<p class="doc doc-class-bases">
|
|
10769
|
-
Bases: <code><
|
|
10909
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><span title="rest_framework.routers.APIRootView">APIRootView</span></code></p>
|
|
10910
|
+
|
|
10911
|
+
|
|
10912
|
+
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10913
|
+
|
|
10914
|
+
|
|
10915
|
+
|
|
10770
10916
|
|
|
10771
10917
|
|
|
10772
|
-
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10773
10918
|
|
|
10774
10919
|
|
|
10775
10920
|
|
|
@@ -10805,10 +10950,10 @@
|
|
|
10805
10950
|
|
|
10806
10951
|
<div class="doc doc-contents ">
|
|
10807
10952
|
<p class="doc doc-class-bases">
|
|
10808
|
-
Bases: <code><
|
|
10953
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.OptInFieldsMixin" href="#nautobot.apps.api.OptInFieldsMixin">OptInFieldsMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedModelSerializer">HyperlinkedModelSerializer</span></code></p>
|
|
10809
10954
|
|
|
10810
10955
|
|
|
10811
|
-
|
|
10956
|
+
<p>This base serializer implements common fields and logic for all ModelSerializers.</p>
|
|
10812
10957
|
<p>Namely, it:</p>
|
|
10813
10958
|
<ul>
|
|
10814
10959
|
<li>defines the <code>display</code> field which exposes a human friendly value for the given object.</li>
|
|
@@ -10825,6 +10970,11 @@
|
|
|
10825
10970
|
|
|
10826
10971
|
|
|
10827
10972
|
|
|
10973
|
+
|
|
10974
|
+
|
|
10975
|
+
|
|
10976
|
+
|
|
10977
|
+
|
|
10828
10978
|
<div class="doc doc-children">
|
|
10829
10979
|
|
|
10830
10980
|
|
|
@@ -10849,7 +10999,7 @@
|
|
|
10849
10999
|
|
|
10850
11000
|
<div class="doc doc-contents ">
|
|
10851
11001
|
|
|
10852
|
-
|
|
11002
|
+
<p>Return whether this is a nested serializer.</p>
|
|
10853
11003
|
</div>
|
|
10854
11004
|
|
|
10855
11005
|
</div>
|
|
@@ -10867,7 +11017,7 @@
|
|
|
10867
11017
|
|
|
10868
11018
|
<div class="doc doc-contents ">
|
|
10869
11019
|
|
|
10870
|
-
|
|
11020
|
+
<p>Instantiate a BaseModelSerializer.</p>
|
|
10871
11021
|
<p>The force_csv kwarg allows you to force _is_csv_request() to evaluate True without passing a Request object,
|
|
10872
11022
|
which is necessary to be able to export appropriately structured CSV from a Job that doesn't have a Request.</p>
|
|
10873
11023
|
|
|
@@ -10886,7 +11036,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10886
11036
|
|
|
10887
11037
|
<div class="doc doc-contents ">
|
|
10888
11038
|
|
|
10889
|
-
|
|
11039
|
+
<p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
|
|
10890
11040
|
|
|
10891
11041
|
</div>
|
|
10892
11042
|
|
|
@@ -10903,7 +11053,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10903
11053
|
|
|
10904
11054
|
<div class="doc doc-contents ">
|
|
10905
11055
|
|
|
10906
|
-
|
|
11056
|
+
<p>Create a property field for model methods and properties.</p>
|
|
10907
11057
|
|
|
10908
11058
|
</div>
|
|
10909
11059
|
|
|
@@ -10920,7 +11070,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10920
11070
|
|
|
10921
11071
|
<div class="doc doc-contents ">
|
|
10922
11072
|
|
|
10923
|
-
|
|
11073
|
+
<p>Override DRF's default relational-field construction to be app-aware.</p>
|
|
10924
11074
|
|
|
10925
11075
|
</div>
|
|
10926
11076
|
|
|
@@ -10937,7 +11087,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10937
11087
|
|
|
10938
11088
|
<div class="doc doc-contents ">
|
|
10939
11089
|
|
|
10940
|
-
|
|
11090
|
+
<p>Override DRF's default 'url' field construction to be app-aware.</p>
|
|
10941
11091
|
|
|
10942
11092
|
</div>
|
|
10943
11093
|
|
|
@@ -10954,7 +11104,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10954
11104
|
|
|
10955
11105
|
<div class="doc doc-contents ">
|
|
10956
11106
|
|
|
10957
|
-
|
|
11107
|
+
<p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
|
|
10958
11108
|
|
|
10959
11109
|
</div>
|
|
10960
11110
|
|
|
@@ -10971,7 +11121,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10971
11121
|
|
|
10972
11122
|
<div class="doc doc-contents ">
|
|
10973
11123
|
|
|
10974
|
-
|
|
11124
|
+
<p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
|
|
10975
11125
|
|
|
10976
11126
|
</div>
|
|
10977
11127
|
|
|
@@ -10988,7 +11138,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10988
11138
|
|
|
10989
11139
|
<div class="doc doc-contents ">
|
|
10990
11140
|
|
|
10991
|
-
|
|
11141
|
+
<p>Override get_field_names() to add some custom logic.</p>
|
|
10992
11142
|
<p>Assuming that we follow the pattern where <code>fields = "__all__" for the vast majority of serializers in Nautobot,
|
|
10993
11143
|
we do not strictly need to use this method to protect against inadvertently omitting standard fields
|
|
10994
11144
|
like</code>display<code>,</code>created<code>, and</code>last_updated`. However, we continue to do as a bit of redundant safety.</p>
|
|
@@ -11021,7 +11171,7 @@ way of <em>excluding</em> fields that we <em>don't</em> want to include by defau
|
|
|
11021
11171
|
<div class="doc doc-contents ">
|
|
11022
11172
|
|
|
11023
11173
|
|
|
11024
|
-
|
|
11174
|
+
<p>Support bulk deletion of objects using the list endpoint for a model. Accepts a DELETE action with a list of one
|
|
11025
11175
|
or more JSON objects, each specifying the UUID of an object to be deleted. For example:</p>
|
|
11026
11176
|
<p>DELETE /api/dcim/locations/
|
|
11027
11177
|
[
|
|
@@ -11032,6 +11182,11 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
11032
11182
|
|
|
11033
11183
|
|
|
11034
11184
|
|
|
11185
|
+
|
|
11186
|
+
|
|
11187
|
+
|
|
11188
|
+
|
|
11189
|
+
|
|
11035
11190
|
<div class="doc doc-children">
|
|
11036
11191
|
|
|
11037
11192
|
|
|
@@ -11064,7 +11219,7 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
11064
11219
|
<div class="doc doc-contents ">
|
|
11065
11220
|
|
|
11066
11221
|
|
|
11067
|
-
|
|
11222
|
+
<p>Support bulk modification of objects using the list endpoint for a model. Accepts a PATCH action with a list of one
|
|
11068
11223
|
or more JSON objects, each specifying the UUID of an object to be updated as well as the attributes to be set.
|
|
11069
11224
|
For example:</p>
|
|
11070
11225
|
<p>PATCH /api/dcim/locations/
|
|
@@ -11082,6 +11237,11 @@ For example:</p>
|
|
|
11082
11237
|
|
|
11083
11238
|
|
|
11084
11239
|
|
|
11240
|
+
|
|
11241
|
+
|
|
11242
|
+
|
|
11243
|
+
|
|
11244
|
+
|
|
11085
11245
|
<div class="doc doc-children">
|
|
11086
11246
|
|
|
11087
11247
|
|
|
@@ -11113,16 +11273,21 @@ For example:</p>
|
|
|
11113
11273
|
|
|
11114
11274
|
<div class="doc doc-contents ">
|
|
11115
11275
|
<p class="doc doc-class-bases">
|
|
11116
|
-
Bases: <code><
|
|
11276
|
+
Bases: <code><span title="rest_framework.serializers.Field">Field</span></code></p>
|
|
11117
11277
|
|
|
11118
11278
|
|
|
11119
|
-
|
|
11279
|
+
<p>Represent a ChoiceField as {'value': <DB value>, 'label': <string>}. Accepts a single value on write.</p>
|
|
11120
11280
|
<p>:param choices: An iterable of choices in the form (value, key).
|
|
11121
11281
|
:param allow_blank: Allow blank values in addition to the listed choices.</p>
|
|
11122
11282
|
|
|
11123
11283
|
|
|
11124
11284
|
|
|
11125
11285
|
|
|
11286
|
+
|
|
11287
|
+
|
|
11288
|
+
|
|
11289
|
+
|
|
11290
|
+
|
|
11126
11291
|
<div class="doc doc-children">
|
|
11127
11292
|
|
|
11128
11293
|
|
|
@@ -11154,10 +11319,15 @@ For example:</p>
|
|
|
11154
11319
|
|
|
11155
11320
|
<div class="doc doc-contents ">
|
|
11156
11321
|
<p class="doc doc-class-bases">
|
|
11157
|
-
Bases: <code><
|
|
11322
|
+
Bases: <code><span title="rest_framework.relations.RelatedField">RelatedField</span></code></p>
|
|
11323
|
+
|
|
11324
|
+
|
|
11325
|
+
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
11326
|
+
|
|
11327
|
+
|
|
11328
|
+
|
|
11158
11329
|
|
|
11159
11330
|
|
|
11160
|
-
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
11161
11331
|
|
|
11162
11332
|
|
|
11163
11333
|
|
|
@@ -11193,10 +11363,15 @@ For example:</p>
|
|
|
11193
11363
|
|
|
11194
11364
|
<div class="doc doc-contents ">
|
|
11195
11365
|
<p class="doc doc-class-bases">
|
|
11196
|
-
Bases: <code><
|
|
11366
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11367
|
+
|
|
11368
|
+
|
|
11369
|
+
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
11370
|
+
|
|
11371
|
+
|
|
11372
|
+
|
|
11197
11373
|
|
|
11198
11374
|
|
|
11199
|
-
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
11200
11375
|
|
|
11201
11376
|
|
|
11202
11377
|
|
|
@@ -11222,7 +11397,7 @@ For example:</p>
|
|
|
11222
11397
|
|
|
11223
11398
|
<div class="doc doc-contents ">
|
|
11224
11399
|
|
|
11225
|
-
|
|
11400
|
+
<p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
|
|
11226
11401
|
|
|
11227
11402
|
</div>
|
|
11228
11403
|
|
|
@@ -11249,10 +11424,15 @@ For example:</p>
|
|
|
11249
11424
|
|
|
11250
11425
|
<div class="doc doc-contents ">
|
|
11251
11426
|
<p class="doc doc-class-bases">
|
|
11252
|
-
Bases: <code><
|
|
11427
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSet" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
|
|
11428
|
+
|
|
11429
|
+
|
|
11430
|
+
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
11431
|
+
|
|
11432
|
+
|
|
11433
|
+
|
|
11253
11434
|
|
|
11254
11435
|
|
|
11255
|
-
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
11256
11436
|
|
|
11257
11437
|
|
|
11258
11438
|
|
|
@@ -11288,10 +11468,15 @@ For example:</p>
|
|
|
11288
11468
|
|
|
11289
11469
|
<div class="doc doc-contents ">
|
|
11290
11470
|
<p class="doc doc-class-bases">
|
|
11291
|
-
Bases: <code><
|
|
11471
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkUpdateModelMixin" href="#nautobot.apps.api.BulkUpdateModelMixin">BulkUpdateModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkDestroyModelMixin" href="#nautobot.apps.api.BulkDestroyModelMixin">BulkDestroyModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ModelViewSet">ModelViewSet</span></code></p>
|
|
11472
|
+
|
|
11473
|
+
|
|
11474
|
+
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11475
|
+
|
|
11476
|
+
|
|
11477
|
+
|
|
11292
11478
|
|
|
11293
11479
|
|
|
11294
|
-
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11295
11480
|
|
|
11296
11481
|
|
|
11297
11482
|
|
|
@@ -11331,6 +11516,11 @@ For example:</p>
|
|
|
11331
11516
|
|
|
11332
11517
|
|
|
11333
11518
|
|
|
11519
|
+
|
|
11520
|
+
|
|
11521
|
+
|
|
11522
|
+
|
|
11523
|
+
|
|
11334
11524
|
<div class="doc doc-children">
|
|
11335
11525
|
|
|
11336
11526
|
|
|
@@ -11352,7 +11542,25 @@ For example:</p>
|
|
|
11352
11542
|
|
|
11353
11543
|
<div class="doc doc-contents ">
|
|
11354
11544
|
|
|
11355
|
-
|
|
11545
|
+
<p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
|
|
11546
|
+
|
|
11547
|
+
</div>
|
|
11548
|
+
|
|
11549
|
+
</div>
|
|
11550
|
+
|
|
11551
|
+
<div class="doc doc-object doc-function">
|
|
11552
|
+
|
|
11553
|
+
|
|
11554
|
+
<h3 id="nautobot.apps.api.ModelViewSetMixin.get_queryset" class="doc doc-heading">
|
|
11555
|
+
<code class="highlight language-python"><span class="n">get_queryset</span><span class="p">()</span></code>
|
|
11556
|
+
|
|
11557
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11558
|
+
|
|
11559
|
+
|
|
11560
|
+
<div class="doc doc-contents ">
|
|
11561
|
+
|
|
11562
|
+
<p>Attempt to optimize the queryset based on the fields present in the associated serializer.</p>
|
|
11563
|
+
<p>See similar logic in nautobot.core.tables.BaseTable.</p>
|
|
11356
11564
|
|
|
11357
11565
|
</div>
|
|
11358
11566
|
|
|
@@ -11369,7 +11577,7 @@ For example:</p>
|
|
|
11369
11577
|
|
|
11370
11578
|
<div class="doc doc-contents ">
|
|
11371
11579
|
|
|
11372
|
-
|
|
11580
|
+
<p>Runs anything that needs to occur prior to calling the method handler.</p>
|
|
11373
11581
|
<p>Override of internal Django Rest Framework API.</p>
|
|
11374
11582
|
|
|
11375
11583
|
</div>
|
|
@@ -11387,7 +11595,7 @@ For example:</p>
|
|
|
11387
11595
|
|
|
11388
11596
|
<div class="doc doc-contents ">
|
|
11389
11597
|
|
|
11390
|
-
|
|
11598
|
+
<p>Restrict the view's queryset to allow only the permitted objects for the given request.</p>
|
|
11391
11599
|
<p>Subclasses (such as nautobot.extras.api.views.JobModelViewSet) may wish to override this.</p>
|
|
11392
11600
|
<p>Called by initial(), below.</p>
|
|
11393
11601
|
|
|
@@ -11416,10 +11624,15 @@ For example:</p>
|
|
|
11416
11624
|
|
|
11417
11625
|
<div class="doc doc-contents ">
|
|
11418
11626
|
<p class="doc doc-class-bases">
|
|
11419
|
-
Bases: <code><
|
|
11627
|
+
Bases: <code><span title="rest_framework.serializers.MultipleChoiceField">MultipleChoiceField</span></code></p>
|
|
11628
|
+
|
|
11629
|
+
|
|
11630
|
+
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11631
|
+
|
|
11632
|
+
|
|
11633
|
+
|
|
11420
11634
|
|
|
11421
11635
|
|
|
11422
|
-
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11423
11636
|
|
|
11424
11637
|
|
|
11425
11638
|
|
|
@@ -11445,7 +11658,7 @@ For example:</p>
|
|
|
11445
11658
|
|
|
11446
11659
|
<div class="doc doc-contents ">
|
|
11447
11660
|
|
|
11448
|
-
|
|
11661
|
+
<p>Overload default choices handling to also accept a callable.</p>
|
|
11449
11662
|
|
|
11450
11663
|
</div>
|
|
11451
11664
|
|
|
@@ -11472,10 +11685,15 @@ For example:</p>
|
|
|
11472
11685
|
|
|
11473
11686
|
<div class="doc doc-contents ">
|
|
11474
11687
|
<p class="doc doc-class-bases">
|
|
11475
|
-
Bases: <code><
|
|
11688
|
+
Bases: <code><span title="drf_spectacular.openapi.AutoSchema">AutoSchema</span></code></p>
|
|
11689
|
+
|
|
11690
|
+
|
|
11691
|
+
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11692
|
+
|
|
11693
|
+
|
|
11694
|
+
|
|
11476
11695
|
|
|
11477
11696
|
|
|
11478
|
-
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11479
11697
|
|
|
11480
11698
|
|
|
11481
11699
|
|
|
@@ -11504,7 +11722,7 @@ For example:</p>
|
|
|
11504
11722
|
|
|
11505
11723
|
<div class="doc doc-contents ">
|
|
11506
11724
|
|
|
11507
|
-
|
|
11725
|
+
<p>Custom property for convenience.</p>
|
|
11508
11726
|
</div>
|
|
11509
11727
|
|
|
11510
11728
|
</div>
|
|
@@ -11525,7 +11743,7 @@ For example:</p>
|
|
|
11525
11743
|
|
|
11526
11744
|
<div class="doc doc-contents ">
|
|
11527
11745
|
|
|
11528
|
-
|
|
11746
|
+
<p>Custom property for convenience.</p>
|
|
11529
11747
|
</div>
|
|
11530
11748
|
|
|
11531
11749
|
</div>
|
|
@@ -11543,7 +11761,7 @@ For example:</p>
|
|
|
11543
11761
|
|
|
11544
11762
|
<div class="doc doc-contents ">
|
|
11545
11763
|
|
|
11546
|
-
|
|
11764
|
+
<p>Get the appropriate description for a given API endpoint.</p>
|
|
11547
11765
|
<p>By default, if a specific action doesn't have its own docstring, and neither does the view class,
|
|
11548
11766
|
drf-spectacular will walk up the MRO of the view class until it finds a docstring, and use that.
|
|
11549
11767
|
Most of our viewsets (for better or for worse) do not have docstrings, and so it'll find and use the generic
|
|
@@ -11566,7 +11784,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11566
11784
|
|
|
11567
11785
|
<div class="doc doc-contents ">
|
|
11568
11786
|
|
|
11569
|
-
|
|
11787
|
+
<p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
|
|
11570
11788
|
|
|
11571
11789
|
</div>
|
|
11572
11790
|
|
|
@@ -11583,7 +11801,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11583
11801
|
|
|
11584
11802
|
<div class="doc doc-contents ">
|
|
11585
11803
|
|
|
11586
|
-
|
|
11804
|
+
<p>Extend the base method to handle Nautobot's REST API bulk operations.</p>
|
|
11587
11805
|
<p>Without this extension, every one of our ModelViewSet classes will result in drf-spectacular complaining
|
|
11588
11806
|
about operationId collisions, e.g. between DELETE /api/dcim/devices/ and DELETE /api/dcim/devices/<pk>/ would
|
|
11589
11807
|
both get resolved to the same "dcim_devices_destroy" operation-id and this would make drf-spectacular complain.</p>
|
|
@@ -11604,7 +11822,7 @@ both get resolved to the same "dcim_devices_destroy" operation-id and this would
|
|
|
11604
11822
|
|
|
11605
11823
|
<div class="doc doc-contents ">
|
|
11606
11824
|
|
|
11607
|
-
|
|
11825
|
+
<p>Return the request serializer (used for describing/parsing the request payload) for this endpoint.</p>
|
|
11608
11826
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11609
11827
|
with required data (PATCH, POST, PUT). In those cases we replace FooSerializer with a dynamically-defined
|
|
11610
11828
|
WritableFooSerializer class in order to more accurately represent the available options on write.</p>
|
|
@@ -11626,7 +11844,7 @@ require a list of serializers as input, rather than a single one.</p>
|
|
|
11626
11844
|
|
|
11627
11845
|
<div class="doc doc-contents ">
|
|
11628
11846
|
|
|
11629
|
-
|
|
11847
|
+
<p>Return the response serializer (used for describing the response payload) for this endpoint.</p>
|
|
11630
11848
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11631
11849
|
to a bulk endpoint, which returns a list of serializers, rather than a single one.</p>
|
|
11632
11850
|
|
|
@@ -11645,7 +11863,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11645
11863
|
|
|
11646
11864
|
<div class="doc doc-contents ">
|
|
11647
11865
|
|
|
11648
|
-
|
|
11866
|
+
<p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
|
|
11649
11867
|
<p>Based on drf_yasg.utils.get_serializer_ref_name().</p>
|
|
11650
11868
|
|
|
11651
11869
|
</div>
|
|
@@ -11663,7 +11881,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11663
11881
|
|
|
11664
11882
|
<div class="doc doc-contents ">
|
|
11665
11883
|
|
|
11666
|
-
|
|
11884
|
+
<p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
|
|
11667
11885
|
<p>If no [Bulk]WritableFooSerializer class is needed, returns None instead.</p>
|
|
11668
11886
|
|
|
11669
11887
|
</div>
|
|
@@ -11681,7 +11899,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11681
11899
|
|
|
11682
11900
|
<div class="doc doc-contents ">
|
|
11683
11901
|
|
|
11684
|
-
|
|
11902
|
+
<p>Re-add required <code>id</code> field on bulk_partial_update action.</p>
|
|
11685
11903
|
<p>drf-spectacular clears the <code>required</code> list for any partial serializers in its <code>_map_basic_serializer()</code>,
|
|
11686
11904
|
but Nautobot bulk partial updates require the <code>id</code> field to be specified for each object to update.</p>
|
|
11687
11905
|
|
|
@@ -11710,10 +11928,15 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11710
11928
|
|
|
11711
11929
|
<div class="doc doc-contents ">
|
|
11712
11930
|
<p class="doc doc-class-bases">
|
|
11713
|
-
Bases: <code><
|
|
11931
|
+
Bases: <code><span title="rest_framework.parsers.BaseParser">BaseParser</span></code></p>
|
|
11932
|
+
|
|
11933
|
+
|
|
11934
|
+
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11935
|
+
|
|
11936
|
+
|
|
11937
|
+
|
|
11714
11938
|
|
|
11715
11939
|
|
|
11716
|
-
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11717
11940
|
|
|
11718
11941
|
|
|
11719
11942
|
|
|
@@ -11739,7 +11962,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11739
11962
|
|
|
11740
11963
|
<div class="doc doc-contents ">
|
|
11741
11964
|
|
|
11742
|
-
|
|
11965
|
+
<p>Parse a single row of CSV data (represented as a dict) into a dict suitable for consumption by the serializer.</p>
|
|
11743
11966
|
<p>TODO: it would be more elegant if our serializer fields knew how to deserialize the CSV data themselves;
|
|
11744
11967
|
could we then literally have the parser just return list(reader) and not need this function at all?</p>
|
|
11745
11968
|
|
|
@@ -11768,10 +11991,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11768
11991
|
|
|
11769
11992
|
<div class="doc doc-contents ">
|
|
11770
11993
|
<p class="doc doc-class-bases">
|
|
11771
|
-
Bases: <code><
|
|
11994
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.mixins.WritableSerializerMixin" href="#nautobot.apps.api.WritableSerializerMixin">WritableSerializerMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedRelatedField">HyperlinkedRelatedField</span></code></p>
|
|
11995
|
+
|
|
11996
|
+
|
|
11997
|
+
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11998
|
+
|
|
11999
|
+
|
|
12000
|
+
|
|
11772
12001
|
|
|
11773
12002
|
|
|
11774
|
-
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11775
12003
|
|
|
11776
12004
|
|
|
11777
12005
|
|
|
@@ -11797,7 +12025,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11797
12025
|
|
|
11798
12026
|
<div class="doc doc-contents ">
|
|
11799
12027
|
|
|
11800
|
-
|
|
12028
|
+
<p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
|
|
11801
12029
|
<p>DRF defaults to '{model_name}-detail' instead of '{app_label}:{model_name}-detail'.</p>
|
|
11802
12030
|
|
|
11803
12031
|
</div>
|
|
@@ -11815,7 +12043,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11815
12043
|
|
|
11816
12044
|
<div class="doc doc-contents ">
|
|
11817
12045
|
|
|
11818
|
-
|
|
12046
|
+
<p>Convert potentially nested representation to a model instance.</p>
|
|
11819
12047
|
|
|
11820
12048
|
</div>
|
|
11821
12049
|
|
|
@@ -11832,7 +12060,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11832
12060
|
|
|
11833
12061
|
<div class="doc doc-contents ">
|
|
11834
12062
|
|
|
11835
|
-
|
|
12063
|
+
<p>Convert URL representation to a brief nested representation.</p>
|
|
11836
12064
|
|
|
11837
12065
|
</div>
|
|
11838
12066
|
|
|
@@ -11859,15 +12087,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11859
12087
|
|
|
11860
12088
|
<div class="doc doc-contents ">
|
|
11861
12089
|
<p class="doc doc-class-bases">
|
|
11862
|
-
Bases: <code><
|
|
12090
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.RelationshipModelSerializerMixin" href="#nautobot.apps.api.RelationshipModelSerializerMixin">RelationshipModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.CustomFieldModelSerializerMixin" href="#nautobot.apps.api.CustomFieldModelSerializerMixin">CustomFieldModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.NotesSerializerMixin" href="#nautobot.apps.api.NotesSerializerMixin">NotesSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11863
12091
|
|
|
11864
12092
|
|
|
11865
|
-
|
|
12093
|
+
<p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
|
|
11866
12094
|
<p>Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.</p>
|
|
11867
12095
|
|
|
11868
12096
|
|
|
11869
12097
|
|
|
11870
12098
|
|
|
12099
|
+
|
|
12100
|
+
|
|
12101
|
+
|
|
12102
|
+
|
|
12103
|
+
|
|
11871
12104
|
<div class="doc doc-children">
|
|
11872
12105
|
|
|
11873
12106
|
|
|
@@ -11899,15 +12132,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11899
12132
|
|
|
11900
12133
|
<div class="doc doc-contents ">
|
|
11901
12134
|
<p class="doc doc-class-bases">
|
|
11902
|
-
Bases: <code><
|
|
12135
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.NotesViewSetMixin" href="#nautobot.apps.api.NotesViewSetMixin">NotesViewSetMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.CustomFieldModelViewSet" href="#nautobot.apps.api.CustomFieldModelViewSet">CustomFieldModelViewSet</a></code></p>
|
|
11903
12136
|
|
|
11904
12137
|
|
|
11905
|
-
|
|
12138
|
+
<p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
|
|
11906
12139
|
<p>Can also be used for models derived from BaseModel, so long as they support Notes.</p>
|
|
11907
12140
|
|
|
11908
12141
|
|
|
11909
12142
|
|
|
11910
12143
|
|
|
12144
|
+
|
|
12145
|
+
|
|
12146
|
+
|
|
12147
|
+
|
|
12148
|
+
|
|
11911
12149
|
<div class="doc doc-children">
|
|
11912
12150
|
|
|
11913
12151
|
|
|
@@ -11939,10 +12177,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11939
12177
|
|
|
11940
12178
|
<div class="doc doc-contents ">
|
|
11941
12179
|
<p class="doc doc-class-bases">
|
|
11942
|
-
Bases: <code><
|
|
12180
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12181
|
+
|
|
12182
|
+
|
|
12183
|
+
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
12184
|
+
|
|
12185
|
+
|
|
12186
|
+
|
|
11943
12187
|
|
|
11944
12188
|
|
|
11945
|
-
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
11946
12189
|
|
|
11947
12190
|
|
|
11948
12191
|
|
|
@@ -11968,7 +12211,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11968
12211
|
|
|
11969
12212
|
<div class="doc doc-contents ">
|
|
11970
12213
|
|
|
11971
|
-
|
|
12214
|
+
<p>Ensure that fields includes "notes_url" field if applicable.</p>
|
|
11972
12215
|
|
|
11973
12216
|
</div>
|
|
11974
12217
|
|
|
@@ -11999,6 +12242,11 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11999
12242
|
|
|
12000
12243
|
|
|
12001
12244
|
|
|
12245
|
+
|
|
12246
|
+
|
|
12247
|
+
|
|
12248
|
+
|
|
12249
|
+
|
|
12002
12250
|
<div class="doc doc-children">
|
|
12003
12251
|
|
|
12004
12252
|
|
|
@@ -12021,10 +12269,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12021
12269
|
|
|
12022
12270
|
<div class="doc doc-contents ">
|
|
12023
12271
|
<p class="doc doc-class-bases">
|
|
12024
|
-
Bases: <code><
|
|
12272
|
+
Bases: <code><span title="nautobot.core.api.authentication.TokenPermissions">TokenPermissions</span></code></p>
|
|
12273
|
+
|
|
12274
|
+
|
|
12275
|
+
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
12276
|
+
|
|
12277
|
+
|
|
12278
|
+
|
|
12025
12279
|
|
|
12026
12280
|
|
|
12027
|
-
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
12028
12281
|
|
|
12029
12282
|
|
|
12030
12283
|
|
|
@@ -12059,7 +12312,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12059
12312
|
|
|
12060
12313
|
<div class="doc doc-contents ">
|
|
12061
12314
|
|
|
12062
|
-
|
|
12315
|
+
<p>API methods for returning or creating notes on an object.</p>
|
|
12063
12316
|
|
|
12064
12317
|
</div>
|
|
12065
12318
|
|
|
@@ -12076,7 +12329,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12076
12329
|
|
|
12077
12330
|
<div class="doc doc-contents ">
|
|
12078
12331
|
|
|
12079
|
-
|
|
12332
|
+
<p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
|
|
12080
12333
|
|
|
12081
12334
|
</div>
|
|
12082
12335
|
|
|
@@ -12103,10 +12356,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12103
12356
|
|
|
12104
12357
|
<div class="doc doc-contents ">
|
|
12105
12358
|
<p class="doc doc-class-bases">
|
|
12106
|
-
Bases: <code><
|
|
12359
|
+
Bases: <code><span title="rest_framework.serializers.CharField">CharField</span></code></p>
|
|
12360
|
+
|
|
12361
|
+
|
|
12362
|
+
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
12363
|
+
|
|
12364
|
+
|
|
12365
|
+
|
|
12107
12366
|
|
|
12108
12367
|
|
|
12109
|
-
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
12110
12368
|
|
|
12111
12369
|
|
|
12112
12370
|
|
|
@@ -12132,7 +12390,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12132
12390
|
|
|
12133
12391
|
<div class="doc doc-contents ">
|
|
12134
12392
|
|
|
12135
|
-
|
|
12393
|
+
<p>Default read_only to True as this should never be a writable field.</p>
|
|
12136
12394
|
|
|
12137
12395
|
</div>
|
|
12138
12396
|
|
|
@@ -12149,7 +12407,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12149
12407
|
|
|
12150
12408
|
<div class="doc doc-contents ">
|
|
12151
12409
|
|
|
12152
|
-
|
|
12410
|
+
<p>Get the content-type of this serializer's model.</p>
|
|
12153
12411
|
<p>Implemented this way because <code>_value</code> may be None when generating the schema.</p>
|
|
12154
12412
|
|
|
12155
12413
|
</div>
|
|
@@ -12178,8 +12436,13 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
12178
12436
|
<div class="doc doc-contents ">
|
|
12179
12437
|
|
|
12180
12438
|
|
|
12181
|
-
|
|
12182
|
-
which fields
|
|
12439
|
+
<p>Serializer mixin that adjusts its fields based on the <code>include</code> and <code>exclude_m2m</code> query parameters in a request.</p>
|
|
12440
|
+
<p>The serializer's <code>Meta.opt_in_fields</code> controls which fields are influenced by <code>include</code>.</p>
|
|
12441
|
+
|
|
12442
|
+
|
|
12443
|
+
|
|
12444
|
+
|
|
12445
|
+
|
|
12183
12446
|
|
|
12184
12447
|
|
|
12185
12448
|
|
|
@@ -12208,8 +12471,12 @@ which fields should be displayed.</p>
|
|
|
12208
12471
|
|
|
12209
12472
|
<div class="doc doc-contents ">
|
|
12210
12473
|
|
|
12211
|
-
|
|
12212
|
-
<
|
|
12474
|
+
<p>Dynamically adjust the dictionary of fields attributed to this serializer instance.</p>
|
|
12475
|
+
<ul>
|
|
12476
|
+
<li>Removes all serializer fields specified in <code>Meta.opt_in_fields</code> list that aren't specified in the
|
|
12477
|
+
<code>include</code> query parameter. (applies to GET requests only)</li>
|
|
12478
|
+
<li>If the <code>exclude_m2m</code> query parameter is truthy, remove all many-to-many serializer fields for performance.</li>
|
|
12479
|
+
</ul>
|
|
12213
12480
|
<p>As an example, if the serializer specifies that <code>opt_in_fields = ["computed_fields"]</code>
|
|
12214
12481
|
but <code>computed_fields</code> is not specified in the <code>?include</code> query parameter, <code>computed_fields</code> will be popped
|
|
12215
12482
|
from the list of fields.</p>
|
|
@@ -12240,7 +12507,12 @@ from the list of fields.</p>
|
|
|
12240
12507
|
|
|
12241
12508
|
<div class="doc doc-contents ">
|
|
12242
12509
|
<p class="doc doc-class-bases">
|
|
12243
|
-
Bases: <code><
|
|
12510
|
+
Bases: <code><span title="rest_framework.routers.DefaultRouter">DefaultRouter</span></code></p>
|
|
12511
|
+
|
|
12512
|
+
|
|
12513
|
+
|
|
12514
|
+
|
|
12515
|
+
|
|
12244
12516
|
|
|
12245
12517
|
|
|
12246
12518
|
|
|
@@ -12267,7 +12539,7 @@ from the list of fields.</p>
|
|
|
12267
12539
|
|
|
12268
12540
|
<div class="doc doc-contents ">
|
|
12269
12541
|
|
|
12270
|
-
|
|
12542
|
+
<p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
|
|
12271
12543
|
|
|
12272
12544
|
</div>
|
|
12273
12545
|
|
|
@@ -12284,7 +12556,7 @@ from the list of fields.</p>
|
|
|
12284
12556
|
|
|
12285
12557
|
<div class="doc doc-contents ">
|
|
12286
12558
|
|
|
12287
|
-
|
|
12559
|
+
<p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
|
|
12288
12560
|
<p>(Reference: https://github.com/encode/django-rest-framework/pull/8438)</p>
|
|
12289
12561
|
|
|
12290
12562
|
</div>
|
|
@@ -12312,10 +12584,15 @@ from the list of fields.</p>
|
|
|
12312
12584
|
|
|
12313
12585
|
<div class="doc doc-contents ">
|
|
12314
12586
|
<p class="doc doc-class-bases">
|
|
12315
|
-
Bases: <code><
|
|
12587
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ReadOnlyModelViewSet">ReadOnlyModelViewSet</span></code></p>
|
|
12588
|
+
|
|
12589
|
+
|
|
12590
|
+
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12591
|
+
|
|
12592
|
+
|
|
12593
|
+
|
|
12316
12594
|
|
|
12317
12595
|
|
|
12318
|
-
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12319
12596
|
|
|
12320
12597
|
|
|
12321
12598
|
|
|
@@ -12351,10 +12628,15 @@ from the list of fields.</p>
|
|
|
12351
12628
|
|
|
12352
12629
|
<div class="doc doc-contents ">
|
|
12353
12630
|
<p class="doc doc-class-bases">
|
|
12354
|
-
Bases: <code><
|
|
12631
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
12632
|
+
|
|
12633
|
+
|
|
12634
|
+
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12635
|
+
|
|
12636
|
+
|
|
12637
|
+
|
|
12355
12638
|
|
|
12356
12639
|
|
|
12357
|
-
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12358
12640
|
|
|
12359
12641
|
|
|
12360
12642
|
|
|
@@ -12380,7 +12662,7 @@ from the list of fields.</p>
|
|
|
12380
12662
|
|
|
12381
12663
|
<div class="doc doc-contents ">
|
|
12382
12664
|
|
|
12383
|
-
|
|
12665
|
+
<p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
|
|
12384
12666
|
|
|
12385
12667
|
</div>
|
|
12386
12668
|
|
|
@@ -12407,15 +12689,20 @@ from the list of fields.</p>
|
|
|
12407
12689
|
|
|
12408
12690
|
<div class="doc doc-contents ">
|
|
12409
12691
|
<p class="doc doc-class-bases">
|
|
12410
|
-
Bases: <code><
|
|
12692
|
+
Bases: <code><span title="rest_framework.relations.PrimaryKeyRelatedField">PrimaryKeyRelatedField</span></code></p>
|
|
12411
12693
|
|
|
12412
12694
|
|
|
12413
|
-
|
|
12695
|
+
<p>Extends PrimaryKeyRelatedField to return a serialized object on read. This is useful for representing related
|
|
12414
12696
|
objects in a ManyToManyField while still allowing a set of primary keys to be written.</p>
|
|
12415
12697
|
|
|
12416
12698
|
|
|
12417
12699
|
|
|
12418
12700
|
|
|
12701
|
+
|
|
12702
|
+
|
|
12703
|
+
|
|
12704
|
+
|
|
12705
|
+
|
|
12419
12706
|
<div class="doc doc-children">
|
|
12420
12707
|
|
|
12421
12708
|
|
|
@@ -12447,7 +12734,12 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12447
12734
|
|
|
12448
12735
|
<div class="doc doc-contents ">
|
|
12449
12736
|
<p class="doc doc-class-bases">
|
|
12450
|
-
Bases: <code><
|
|
12737
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12738
|
+
|
|
12739
|
+
|
|
12740
|
+
|
|
12741
|
+
|
|
12742
|
+
|
|
12451
12743
|
|
|
12452
12744
|
|
|
12453
12745
|
|
|
@@ -12474,7 +12766,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12474
12766
|
|
|
12475
12767
|
<div class="doc doc-contents ">
|
|
12476
12768
|
|
|
12477
|
-
|
|
12769
|
+
<p>Ensure that 'tags' field is always present except on nested serializers.</p>
|
|
12478
12770
|
|
|
12479
12771
|
</div>
|
|
12480
12772
|
|
|
@@ -12501,10 +12793,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12501
12793
|
|
|
12502
12794
|
<div class="doc doc-contents ">
|
|
12503
12795
|
<p class="doc doc-class-bases">
|
|
12504
|
-
Bases: <code><
|
|
12796
|
+
Bases: <code><span title="timezone_field.rest_framework.TimeZoneSerializerField">TimeZoneSerializerField</span></code></p>
|
|
12797
|
+
|
|
12798
|
+
|
|
12799
|
+
<p>Represents a time zone as a string.</p>
|
|
12800
|
+
|
|
12801
|
+
|
|
12802
|
+
|
|
12505
12803
|
|
|
12506
12804
|
|
|
12507
|
-
<p>Represents a time zone as a string.</p>
|
|
12508
12805
|
|
|
12509
12806
|
|
|
12510
12807
|
</div>
|
|
@@ -12524,10 +12821,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12524
12821
|
|
|
12525
12822
|
<div class="doc doc-contents ">
|
|
12526
12823
|
<p class="doc doc-class-bases">
|
|
12527
|
-
Bases: <code><
|
|
12824
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12825
|
+
|
|
12826
|
+
|
|
12827
|
+
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12828
|
+
|
|
12829
|
+
|
|
12830
|
+
|
|
12528
12831
|
|
|
12529
12832
|
|
|
12530
|
-
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12531
12833
|
|
|
12532
12834
|
|
|
12533
12835
|
|
|
@@ -12553,7 +12855,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12553
12855
|
|
|
12554
12856
|
<div class="doc doc-contents ">
|
|
12555
12857
|
|
|
12556
|
-
|
|
12858
|
+
<p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
|
|
12557
12859
|
|
|
12558
12860
|
</div>
|
|
12559
12861
|
|
|
@@ -12570,7 +12872,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12570
12872
|
|
|
12571
12873
|
<div class="doc doc-contents ">
|
|
12572
12874
|
|
|
12573
|
-
|
|
12875
|
+
<p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
|
|
12574
12876
|
|
|
12575
12877
|
</div>
|
|
12576
12878
|
|
|
@@ -12597,15 +12899,20 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12597
12899
|
|
|
12598
12900
|
<div class="doc doc-contents ">
|
|
12599
12901
|
<p class="doc doc-class-bases">
|
|
12600
|
-
Bases: <code><
|
|
12902
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12601
12903
|
|
|
12602
12904
|
|
|
12603
|
-
|
|
12905
|
+
<p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
|
|
12604
12906
|
validation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)</p>
|
|
12605
12907
|
|
|
12606
12908
|
|
|
12607
12909
|
|
|
12608
12910
|
|
|
12911
|
+
|
|
12912
|
+
|
|
12913
|
+
|
|
12914
|
+
|
|
12915
|
+
|
|
12609
12916
|
<div class="doc doc-children">
|
|
12610
12917
|
|
|
12611
12918
|
|
|
@@ -12637,10 +12944,10 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
|
|
|
12637
12944
|
|
|
12638
12945
|
<div class="doc doc-contents ">
|
|
12639
12946
|
<p class="doc doc-class-bases">
|
|
12640
|
-
Bases: <code><
|
|
12947
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12641
12948
|
|
|
12642
12949
|
|
|
12643
|
-
|
|
12950
|
+
<p>Returns a nested representation of an object on read, but accepts either the nested representation or the
|
|
12644
12951
|
primary key value on write operations.</p>
|
|
12645
12952
|
<p>Note that subclasses will always have a read-only <code>object_type</code> field, which represents the content-type of this
|
|
12646
12953
|
serializer's associated model (e.g. "dcim.device"). This is required as the OpenAPI schema, using the
|
|
@@ -12650,6 +12957,11 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12650
12957
|
|
|
12651
12958
|
|
|
12652
12959
|
|
|
12960
|
+
|
|
12961
|
+
|
|
12962
|
+
|
|
12963
|
+
|
|
12964
|
+
|
|
12653
12965
|
<div class="doc doc-children">
|
|
12654
12966
|
|
|
12655
12967
|
|
|
@@ -12682,7 +12994,7 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12682
12994
|
<div class="doc doc-contents ">
|
|
12683
12995
|
|
|
12684
12996
|
|
|
12685
|
-
|
|
12997
|
+
<p>WritableSerializerMixin provides the to_internal_value() function.
|
|
12686
12998
|
The function provides the ability to write API requests that identify unique objects based on
|
|
12687
12999
|
combinations of fields other than the primary key.
|
|
12688
13000
|
e.g:
|
|
@@ -12693,6 +13005,11 @@ vs
|
|
|
12693
13005
|
|
|
12694
13006
|
|
|
12695
13007
|
|
|
13008
|
+
|
|
13009
|
+
|
|
13010
|
+
|
|
13011
|
+
|
|
13012
|
+
|
|
12696
13013
|
<div class="doc doc-children">
|
|
12697
13014
|
|
|
12698
13015
|
|
|
@@ -12714,7 +13031,7 @@ vs
|
|
|
12714
13031
|
|
|
12715
13032
|
<div class="doc doc-contents ">
|
|
12716
13033
|
|
|
12717
|
-
|
|
13034
|
+
<p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
|
|
12718
13035
|
|
|
12719
13036
|
</div>
|
|
12720
13037
|
|
|
@@ -12731,7 +13048,7 @@ vs
|
|
|
12731
13048
|
|
|
12732
13049
|
<div class="doc doc-contents ">
|
|
12733
13050
|
|
|
12734
|
-
|
|
13051
|
+
<p>Data could be a dictionary and an int (for the User model) or a str that represents the primary key.
|
|
12735
13052
|
If it is a dictionary, we return it after remove non-filter fields.
|
|
12736
13053
|
If it is a primary key, we return a dictionary object formatted like this {"pk": pk}</p>
|
|
12737
13054
|
|
|
@@ -12750,7 +13067,7 @@ If it is a primary key, we return a dictionary object formatted like this {"pk":
|
|
|
12750
13067
|
|
|
12751
13068
|
<div class="doc doc-contents ">
|
|
12752
13069
|
|
|
12753
|
-
|
|
13070
|
+
<p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
|
|
12754
13071
|
data any serializer fields that do not correspond to a specific model field</p>
|
|
12755
13072
|
|
|
12756
13073
|
</div>
|
|
@@ -12768,7 +13085,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12768
13085
|
|
|
12769
13086
|
<div class="doc doc-contents ">
|
|
12770
13087
|
|
|
12771
|
-
|
|
13088
|
+
<p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
|
|
12772
13089
|
|
|
12773
13090
|
</div>
|
|
12774
13091
|
|
|
@@ -12794,7 +13111,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12794
13111
|
|
|
12795
13112
|
<div class="doc doc-contents ">
|
|
12796
13113
|
|
|
12797
|
-
|
|
13114
|
+
<p>Translate a dictionary of attributes to a nested set of parameters suitable for QuerySet filtering. For example:</p>
|
|
12798
13115
|
<div class="highlight"><pre><span></span><code>{
|
|
12799
13116
|
"name": "Foo",
|
|
12800
13117
|
"rack": {
|
|
@@ -12827,7 +13144,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12827
13144
|
|
|
12828
13145
|
<div class="doc doc-contents ">
|
|
12829
13146
|
|
|
12830
|
-
|
|
13147
|
+
<p>Dynamically import a class from an absolute path string</p>
|
|
12831
13148
|
|
|
12832
13149
|
</div>
|
|
12833
13150
|
|
|
@@ -12844,7 +13161,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12844
13161
|
|
|
12845
13162
|
<div class="doc doc-contents ">
|
|
12846
13163
|
|
|
12847
|
-
|
|
13164
|
+
<p>Returns the serializer of an api_version</p>
|
|
12848
13165
|
|
|
12849
13166
|
|
|
12850
13167
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12859,9 +13176,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12859
13176
|
</thead>
|
|
12860
13177
|
<tbody>
|
|
12861
13178
|
<tr class="doc-section-item">
|
|
12862
|
-
<td><code>serializer_choices</code></td>
|
|
12863
13179
|
<td>
|
|
12864
|
-
|
|
13180
|
+
<code>serializer_choices</code>
|
|
13181
|
+
</td>
|
|
13182
|
+
<td>
|
|
13183
|
+
<code>tuple</code>
|
|
12865
13184
|
</td>
|
|
12866
13185
|
<td>
|
|
12867
13186
|
<div class="doc-md-description">
|
|
@@ -12873,9 +13192,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12873
13192
|
</td>
|
|
12874
13193
|
</tr>
|
|
12875
13194
|
<tr class="doc-section-item">
|
|
12876
|
-
<td><code>api_version</code></td>
|
|
12877
13195
|
<td>
|
|
12878
|
-
|
|
13196
|
+
<code>api_version</code>
|
|
13197
|
+
</td>
|
|
13198
|
+
<td>
|
|
13199
|
+
<code>str</code>
|
|
12879
13200
|
</td>
|
|
12880
13201
|
<td>
|
|
12881
13202
|
<div class="doc-md-description">
|
|
@@ -12901,7 +13222,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12901
13222
|
<tbody>
|
|
12902
13223
|
<tr class="doc-section-item">
|
|
12903
13224
|
<td>
|
|
12904
|
-
<code
|
|
13225
|
+
<code>Serializer</code>
|
|
12905
13226
|
</td>
|
|
12906
13227
|
<td>
|
|
12907
13228
|
<div class="doc-md-description">
|
|
@@ -12927,7 +13248,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12927
13248
|
|
|
12928
13249
|
<div class="doc doc-contents ">
|
|
12929
13250
|
|
|
12930
|
-
|
|
13251
|
+
<p>Dynamically resolve and return the appropriate serializer for a model.</p>
|
|
12931
13252
|
|
|
12932
13253
|
|
|
12933
13254
|
<p><span class="doc-section-title">Raises:</span></p>
|
|
@@ -12941,7 +13262,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12941
13262
|
<tbody>
|
|
12942
13263
|
<tr class="doc-section-item">
|
|
12943
13264
|
<td>
|
|
12944
|
-
<code
|
|
13265
|
+
<code>SerializerNotFound</code>
|
|
12945
13266
|
</td>
|
|
12946
13267
|
<td>
|
|
12947
13268
|
<div class="doc-md-description">
|
|
@@ -12967,7 +13288,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12967
13288
|
|
|
12968
13289
|
<div class="doc doc-contents ">
|
|
12969
13290
|
|
|
12970
|
-
|
|
13291
|
+
<p>Derive the view name from its associated model, if it has one. Fall back to DRF's built-in <code>get_view_name</code>.</p>
|
|
12971
13292
|
|
|
12972
13293
|
</div>
|
|
12973
13294
|
|
|
@@ -12984,7 +13305,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12984
13305
|
|
|
12985
13306
|
<div class="doc doc-contents ">
|
|
12986
13307
|
|
|
12987
|
-
|
|
13308
|
+
<p>Return True of the request is being made via the REST API.</p>
|
|
12988
13309
|
|
|
12989
13310
|
</div>
|
|
12990
13311
|
|
|
@@ -13001,7 +13322,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13001
13322
|
|
|
13002
13323
|
<div class="doc doc-contents ">
|
|
13003
13324
|
|
|
13004
|
-
|
|
13325
|
+
<p>Handle exceptions and return a useful error message for REST API requests.</p>
|
|
13005
13326
|
|
|
13006
13327
|
</div>
|
|
13007
13328
|
|
|
@@ -13018,7 +13339,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13018
13339
|
|
|
13019
13340
|
<div class="doc doc-contents ">
|
|
13020
13341
|
|
|
13021
|
-
|
|
13342
|
+
<p>Returns appropriate serializer class depending on request api_version, and swagger_fake_view</p>
|
|
13022
13343
|
|
|
13023
13344
|
|
|
13024
13345
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13033,7 +13354,9 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13033
13354
|
</thead>
|
|
13034
13355
|
<tbody>
|
|
13035
13356
|
<tr class="doc-section-item">
|
|
13036
|
-
<td
|
|
13357
|
+
<td>
|
|
13358
|
+
<code>obj</code>
|
|
13359
|
+
</td>
|
|
13037
13360
|
<td>
|
|
13038
13361
|
<code>ViewSet instance</code>
|
|
13039
13362
|
</td>
|
|
@@ -13047,9 +13370,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13047
13370
|
</td>
|
|
13048
13371
|
</tr>
|
|
13049
13372
|
<tr class="doc-section-item">
|
|
13050
|
-
<td><code>serializer_choices</code></td>
|
|
13051
13373
|
<td>
|
|
13052
|
-
|
|
13374
|
+
<code>serializer_choices</code>
|
|
13375
|
+
</td>
|
|
13376
|
+
<td>
|
|
13377
|
+
<code>tuple</code>
|
|
13053
13378
|
</td>
|
|
13054
13379
|
<td>
|
|
13055
13380
|
<div class="doc-md-description">
|
|
@@ -13061,9 +13386,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13061
13386
|
</td>
|
|
13062
13387
|
</tr>
|
|
13063
13388
|
<tr class="doc-section-item">
|
|
13064
|
-
<td><code>default_serializer</code></td>
|
|
13065
13389
|
<td>
|
|
13066
|
-
|
|
13390
|
+
<code>default_serializer</code>
|
|
13391
|
+
</td>
|
|
13392
|
+
<td>
|
|
13393
|
+
<code>Serializer</code>
|
|
13067
13394
|
</td>
|
|
13068
13395
|
<td>
|
|
13069
13396
|
<div class="doc-md-description">
|
|
@@ -13184,7 +13511,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13184
13511
|
|
|
13185
13512
|
|
|
13186
13513
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
13187
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
13514
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
|
|
13188
13515
|
</a>
|
|
13189
13516
|
|
|
13190
13517
|
|
|
@@ -13192,7 +13519,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13192
13519
|
|
|
13193
13520
|
|
|
13194
13521
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
13195
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.
|
|
13522
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></svg>
|
|
13196
13523
|
</a>
|
|
13197
13524
|
|
|
13198
13525
|
|
|
@@ -13200,7 +13527,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13200
13527
|
|
|
13201
13528
|
|
|
13202
13529
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
13203
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
13530
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg>
|
|
13204
13531
|
</a>
|
|
13205
13532
|
|
|
13206
13533
|
|
|
@@ -13208,7 +13535,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13208
13535
|
|
|
13209
13536
|
|
|
13210
13537
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
13211
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.
|
|
13538
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
13212
13539
|
</a>
|
|
13213
13540
|
|
|
13214
13541
|
|
|
@@ -13216,7 +13543,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13216
13543
|
|
|
13217
13544
|
|
|
13218
13545
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
13219
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.
|
|
13546
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></svg>
|
|
13220
13547
|
</a>
|
|
13221
13548
|
|
|
13222
13549
|
</div>
|
|
@@ -13231,10 +13558,10 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
13231
13558
|
</div>
|
|
13232
13559
|
|
|
13233
13560
|
|
|
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.
|
|
13561
|
+
<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.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
13235
13562
|
|
|
13236
13563
|
|
|
13237
|
-
<script src="../../../assets/javascripts/bundle.
|
|
13564
|
+
<script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
|
|
13238
13565
|
|
|
13239
13566
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
13240
13567
|
|