nautobot 2.4.0b1__py3-none-any.whl → 2.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +86 -4
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +460 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +126 -38
- nautobot/core/views/renderers.py +6 -6
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +36 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +7 -5
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device.html +1 -9
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/location.html +1 -9
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/rack.html +1 -9
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackreservation.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_delete.py +189 -0
- nautobot/dcim/tests/integration/test_device_bulk_edit.py +181 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +21 -83
- nautobot/dcim/views.py +1 -13
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +90 -85
- nautobot/extras/api/views.py +22 -27
- nautobot/extras/constants.py +2 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +12 -11
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +2 -2
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/dynamicgroup.html +1 -9
- nautobot/extras/templates/extras/job_detail.html +16 -0
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/plugin_detail.html +32 -15
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +13 -13
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_datasources.py +2 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +16 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +3 -2
- nautobot/extras/views.py +30 -98
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +66 -16
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +23 -7
- nautobot/ipam/templates/ipam/ipaddress.html +1 -9
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +1 -9
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlan.html +1 -9
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +95 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +36 -6
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +46 -4
- nautobot/project-static/docs/apps/index.html +46 -4
- nautobot/project-static/docs/apps/nautobot-apps.html +47 -6
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.88dd0f4e.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.88dd0f4e.min.js.map} +2 -2
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +62 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +374 -122
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +90 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +95 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +53 -6
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +52 -5
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +79 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +102 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +108 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +131 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +239 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +581 -165
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +109 -36
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +453 -167
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +493 -211
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +60 -8
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +71 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +407 -55
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +620 -205
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +858 -412
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +59 -7
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +448 -186
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +365 -147
- nautobot/project-static/docs/development/apps/api/configuration-view.html +46 -4
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/global-search.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/graphql.html +46 -4
- nautobot/project-static/docs/development/apps/api/models/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +46 -4
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +68 -7
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +46 -4
- nautobot/project-static/docs/development/apps/api/prometheus.html +46 -4
- nautobot/project-static/docs/development/apps/api/setup.html +46 -4
- nautobot/project-static/docs/development/apps/api/testing.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +46 -4
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/base-template.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/index.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/notes.html +46 -4
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +52 -6
- nautobot/project-static/docs/development/apps/api/views/urls.html +46 -4
- nautobot/project-static/docs/development/apps/index.html +46 -4
- nautobot/project-static/docs/development/apps/migration/code-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +46 -4
- nautobot/project-static/docs/development/apps/migration/from-v1.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +46 -4
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +50 -8
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +46 -4
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +211 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +46 -4
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +46 -4
- nautobot/project-static/docs/development/core/application-registry.html +46 -4
- nautobot/project-static/docs/development/core/best-practices.html +46 -4
- nautobot/project-static/docs/development/core/bootstrap-ui.html +46 -4
- nautobot/project-static/docs/development/core/caching.html +46 -4
- nautobot/project-static/docs/development/core/controllers.html +46 -4
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +73 -74
- nautobot/project-static/docs/development/core/generic-views.html +46 -4
- nautobot/project-static/docs/development/core/getting-started.html +249 -224
- nautobot/project-static/docs/development/core/homepage.html +49 -7
- nautobot/project-static/docs/development/core/index.html +46 -4
- nautobot/project-static/docs/development/core/{local-k8s.html → minikube-dev-environment-for-k8s-jobs.html} +469 -168
- nautobot/project-static/docs/development/core/model-checklist.html +56 -12
- nautobot/project-static/docs/development/core/model-features.html +46 -4
- nautobot/project-static/docs/development/core/natural-keys.html +46 -4
- nautobot/project-static/docs/development/core/navigation-menu.html +46 -4
- nautobot/project-static/docs/development/core/release-checklist.html +49 -7
- nautobot/project-static/docs/development/core/role-internals.html +46 -4
- nautobot/project-static/docs/development/core/settings.html +46 -4
- nautobot/project-static/docs/development/core/style-guide.html +49 -7
- nautobot/project-static/docs/development/core/templates.html +46 -4
- nautobot/project-static/docs/development/core/testing.html +46 -4
- nautobot/project-static/docs/development/core/ui-component-framework.html +369 -273
- nautobot/project-static/docs/development/core/user-preferences.html +46 -4
- nautobot/project-static/docs/development/index.html +46 -4
- nautobot/project-static/docs/development/jobs/index.html +216 -122
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +46 -4
- nautobot/project-static/docs/index.html +54 -23
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +47 -7
- nautobot/project-static/docs/overview/design_philosophy.html +46 -4
- nautobot/project-static/docs/release-notes/index.html +52 -12
- nautobot/project-static/docs/release-notes/version-1.0.html +234 -193
- nautobot/project-static/docs/release-notes/version-1.1.html +231 -190
- nautobot/project-static/docs/release-notes/version-1.2.html +306 -265
- nautobot/project-static/docs/release-notes/version-1.3.html +332 -291
- nautobot/project-static/docs/release-notes/version-1.4.html +417 -377
- nautobot/project-static/docs/release-notes/version-1.5.html +605 -566
- nautobot/project-static/docs/release-notes/version-1.6.html +904 -447
- nautobot/project-static/docs/release-notes/version-2.0.html +528 -489
- nautobot/project-static/docs/release-notes/version-2.1.html +363 -324
- nautobot/project-static/docs/release-notes/version-2.2.html +356 -317
- nautobot/project-static/docs/release-notes/version-2.3.html +997 -352
- nautobot/project-static/docs/release-notes/version-2.4.html +525 -101
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +295 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +48 -6
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +46 -4
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +110 -8
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +46 -4
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +48 -6
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +66 -8
- nautobot/project-static/docs/user-guide/administration/installation/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +47 -5
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +46 -4
- nautobot/project-static/docs/user-guide/administration/installation/services.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +46 -4
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +46 -4
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +49 -8
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +46 -4
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +50 -12
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +49 -7
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +46 -4
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +51 -7
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +46 -4
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +49 -7
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9444 -0
- nautobot/project-static/docs/user-guide/index.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +50 -8
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +50 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +49 -7
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9722 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +47 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +94 -25
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +74 -5
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +46 -4
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +46 -4
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -9
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/METADATA +6 -6
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/RECORD +600 -550
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.1.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -2112,6 +2112,27 @@
|
|
|
2112
2112
|
|
|
2113
2113
|
|
|
2114
2114
|
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
<li class="md-nav__item">
|
|
2122
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
<span class="md-ellipsis">
|
|
2126
|
+
Wireless Networks and Controllers
|
|
2127
|
+
</span>
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
</a>
|
|
2131
|
+
</li>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2115
2136
|
</ul>
|
|
2116
2137
|
</nav>
|
|
2117
2138
|
|
|
@@ -5131,6 +5152,27 @@
|
|
|
5131
5152
|
|
|
5132
5153
|
|
|
5133
5154
|
|
|
5155
|
+
<li class="md-nav__item">
|
|
5156
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5157
|
+
|
|
5158
|
+
|
|
5159
|
+
<span class="md-ellipsis">
|
|
5160
|
+
Kubernetes Job Support
|
|
5161
|
+
</span>
|
|
5162
|
+
|
|
5163
|
+
|
|
5164
|
+
</a>
|
|
5165
|
+
</li>
|
|
5166
|
+
|
|
5167
|
+
|
|
5168
|
+
|
|
5169
|
+
|
|
5170
|
+
|
|
5171
|
+
|
|
5172
|
+
|
|
5173
|
+
|
|
5174
|
+
|
|
5175
|
+
|
|
5134
5176
|
<li class="md-nav__item">
|
|
5135
5177
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5178
|
|
|
@@ -7211,6 +7253,21 @@
|
|
|
7211
7253
|
</span>
|
|
7212
7254
|
</a>
|
|
7213
7255
|
|
|
7256
|
+
<nav class="md-nav" aria-label="BulkEditForm">
|
|
7257
|
+
<ul class="md-nav__list">
|
|
7258
|
+
|
|
7259
|
+
<li class="md-nav__item">
|
|
7260
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="md-nav__link">
|
|
7261
|
+
<span class="md-ellipsis">
|
|
7262
|
+
post_save
|
|
7263
|
+
</span>
|
|
7264
|
+
</a>
|
|
7265
|
+
|
|
7266
|
+
</li>
|
|
7267
|
+
|
|
7268
|
+
</ul>
|
|
7269
|
+
</nav>
|
|
7270
|
+
|
|
7214
7271
|
</li>
|
|
7215
7272
|
|
|
7216
7273
|
<li class="md-nav__item">
|
|
@@ -8977,11 +9034,11 @@
|
|
|
8977
9034
|
|
|
8978
9035
|
|
|
8979
9036
|
<li class="md-nav__item">
|
|
8980
|
-
<a href="../../../development/core/
|
|
9037
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
8981
9038
|
|
|
8982
9039
|
|
|
8983
9040
|
<span class="md-ellipsis">
|
|
8984
|
-
|
|
9041
|
+
Minikube Dev Environment for K8s Jobs
|
|
8985
9042
|
</span>
|
|
8986
9043
|
|
|
8987
9044
|
|
|
@@ -9946,6 +10003,21 @@
|
|
|
9946
10003
|
</span>
|
|
9947
10004
|
</a>
|
|
9948
10005
|
|
|
10006
|
+
<nav class="md-nav" aria-label="BulkEditForm">
|
|
10007
|
+
<ul class="md-nav__list">
|
|
10008
|
+
|
|
10009
|
+
<li class="md-nav__item">
|
|
10010
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="md-nav__link">
|
|
10011
|
+
<span class="md-ellipsis">
|
|
10012
|
+
post_save
|
|
10013
|
+
</span>
|
|
10014
|
+
</a>
|
|
10015
|
+
|
|
10016
|
+
</li>
|
|
10017
|
+
|
|
10018
|
+
</ul>
|
|
10019
|
+
</nav>
|
|
10020
|
+
|
|
9949
10021
|
</li>
|
|
9950
10022
|
|
|
9951
10023
|
<li class="md-nav__item">
|
|
@@ -10800,7 +10872,12 @@
|
|
|
10800
10872
|
|
|
10801
10873
|
<div class="doc doc-contents first">
|
|
10802
10874
|
|
|
10803
|
-
|
|
10875
|
+
<p>Forms and fields for apps to use.</p>
|
|
10876
|
+
|
|
10877
|
+
|
|
10878
|
+
|
|
10879
|
+
|
|
10880
|
+
|
|
10804
10881
|
|
|
10805
10882
|
|
|
10806
10883
|
|
|
@@ -10826,10 +10903,10 @@
|
|
|
10826
10903
|
|
|
10827
10904
|
<div class="doc doc-contents ">
|
|
10828
10905
|
<p class="doc doc-class-bases">
|
|
10829
|
-
Bases: <code><
|
|
10906
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.SelectWithDisabled" href="#nautobot.apps.forms.SelectWithDisabled">SelectWithDisabled</a></code></p>
|
|
10830
10907
|
|
|
10831
10908
|
|
|
10832
|
-
|
|
10909
|
+
<p>A select widget populated via an API call</p>
|
|
10833
10910
|
|
|
10834
10911
|
|
|
10835
10912
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -10844,9 +10921,11 @@
|
|
|
10844
10921
|
</thead>
|
|
10845
10922
|
<tbody>
|
|
10846
10923
|
<tr class="doc-section-item">
|
|
10847
|
-
<td><code>api_url</code></td>
|
|
10848
10924
|
<td>
|
|
10849
|
-
|
|
10925
|
+
<code>api_url</code>
|
|
10926
|
+
</td>
|
|
10927
|
+
<td>
|
|
10928
|
+
<code>str</code>
|
|
10850
10929
|
</td>
|
|
10851
10930
|
<td>
|
|
10852
10931
|
<div class="doc-md-description">
|
|
@@ -10858,9 +10937,11 @@
|
|
|
10858
10937
|
</td>
|
|
10859
10938
|
</tr>
|
|
10860
10939
|
<tr class="doc-section-item">
|
|
10861
|
-
<td><code>api_version</code></td>
|
|
10862
10940
|
<td>
|
|
10863
|
-
|
|
10941
|
+
<code>api_version</code>
|
|
10942
|
+
</td>
|
|
10943
|
+
<td>
|
|
10944
|
+
<code>str</code>
|
|
10864
10945
|
</td>
|
|
10865
10946
|
<td>
|
|
10866
10947
|
<div class="doc-md-description">
|
|
@@ -10877,6 +10958,11 @@
|
|
|
10877
10958
|
|
|
10878
10959
|
|
|
10879
10960
|
|
|
10961
|
+
|
|
10962
|
+
|
|
10963
|
+
|
|
10964
|
+
|
|
10965
|
+
|
|
10880
10966
|
<div class="doc doc-children">
|
|
10881
10967
|
|
|
10882
10968
|
|
|
@@ -10898,7 +10984,7 @@
|
|
|
10898
10984
|
|
|
10899
10985
|
<div class="doc doc-contents ">
|
|
10900
10986
|
|
|
10901
|
-
|
|
10987
|
+
<p>Add details for an additional query param in the form of a data-* JSON-encoded list attribute.</p>
|
|
10902
10988
|
<p>:param name: The name of the query param
|
|
10903
10989
|
:param value: The value of the query param</p>
|
|
10904
10990
|
|
|
@@ -10927,10 +11013,15 @@
|
|
|
10927
11013
|
|
|
10928
11014
|
<div class="doc doc-contents ">
|
|
10929
11015
|
<p class="doc doc-class-bases">
|
|
10930
|
-
Bases: <code><
|
|
11016
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
11017
|
+
|
|
11018
|
+
|
|
11019
|
+
<p>ModelForm mixin for IPAddress based models.</p>
|
|
11020
|
+
|
|
11021
|
+
|
|
11022
|
+
|
|
10931
11023
|
|
|
10932
11024
|
|
|
10933
|
-
<p>ModelForm mixin for IPAddress based models.</p>
|
|
10934
11025
|
|
|
10935
11026
|
|
|
10936
11027
|
|
|
@@ -10966,10 +11057,10 @@
|
|
|
10966
11057
|
|
|
10967
11058
|
<div class="doc doc-contents ">
|
|
10968
11059
|
<p class="doc doc-class-bases">
|
|
10969
|
-
Bases: <code><
|
|
11060
|
+
Bases: <code><span title="django.forms.BaseForm">BaseForm</span></code></p>
|
|
10970
11061
|
|
|
10971
11062
|
|
|
10972
|
-
|
|
11063
|
+
<p>Add the base Bootstrap CSS classes to form elements.</p>
|
|
10973
11064
|
<p>Note that this only applies to form fields that are:</p>
|
|
10974
11065
|
<ol>
|
|
10975
11066
|
<li>statically defined on the form class at declaration time, or</li>
|
|
@@ -10980,6 +11071,11 @@
|
|
|
10980
11071
|
|
|
10981
11072
|
|
|
10982
11073
|
|
|
11074
|
+
|
|
11075
|
+
|
|
11076
|
+
|
|
11077
|
+
|
|
11078
|
+
|
|
10983
11079
|
<div class="doc doc-children">
|
|
10984
11080
|
|
|
10985
11081
|
|
|
@@ -11011,16 +11107,21 @@
|
|
|
11011
11107
|
|
|
11012
11108
|
<div class="doc doc-contents ">
|
|
11013
11109
|
<p class="doc doc-class-bases">
|
|
11014
|
-
Bases: <code><
|
|
11110
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11015
11111
|
|
|
11016
11112
|
|
|
11017
|
-
|
|
11113
|
+
<p>Base form for editing multiple objects in bulk.</p>
|
|
11018
11114
|
<p>Note that for models supporting custom fields and relationships, nautobot.extras.forms.NautobotBulkEditForm is
|
|
11019
11115
|
a more powerful subclass and should be used instead of directly inheriting from this class.</p>
|
|
11020
11116
|
|
|
11021
11117
|
|
|
11022
11118
|
|
|
11023
11119
|
|
|
11120
|
+
|
|
11121
|
+
|
|
11122
|
+
|
|
11123
|
+
|
|
11124
|
+
|
|
11024
11125
|
<div class="doc doc-children">
|
|
11025
11126
|
|
|
11026
11127
|
|
|
@@ -11031,6 +11132,23 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11031
11132
|
|
|
11032
11133
|
|
|
11033
11134
|
|
|
11135
|
+
<div class="doc doc-object doc-function">
|
|
11136
|
+
|
|
11137
|
+
|
|
11138
|
+
<h3 id="nautobot.apps.forms.BulkEditForm.post_save" class="doc doc-heading">
|
|
11139
|
+
<code class="highlight language-python"><span class="n">post_save</span><span class="p">(</span><span class="n">obj</span><span class="p">)</span></code>
|
|
11140
|
+
|
|
11141
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11142
|
+
|
|
11143
|
+
|
|
11144
|
+
<div class="doc doc-contents ">
|
|
11145
|
+
|
|
11146
|
+
<p>Post save action</p>
|
|
11147
|
+
|
|
11148
|
+
</div>
|
|
11149
|
+
|
|
11150
|
+
</div>
|
|
11151
|
+
|
|
11034
11152
|
|
|
11035
11153
|
|
|
11036
11154
|
</div>
|
|
@@ -11052,10 +11170,15 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11052
11170
|
|
|
11053
11171
|
<div class="doc doc-contents ">
|
|
11054
11172
|
<p class="doc doc-class-bases">
|
|
11055
|
-
Bases: <code><
|
|
11173
|
+
Bases: <code><span title="django.forms.NullBooleanSelect">NullBooleanSelect</span></code></p>
|
|
11174
|
+
|
|
11175
|
+
|
|
11176
|
+
<p>A Select widget for NullBooleanFields</p>
|
|
11177
|
+
|
|
11178
|
+
|
|
11179
|
+
|
|
11056
11180
|
|
|
11057
11181
|
|
|
11058
|
-
<p>A Select widget for NullBooleanFields</p>
|
|
11059
11182
|
|
|
11060
11183
|
|
|
11061
11184
|
|
|
@@ -11091,10 +11214,15 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11091
11214
|
|
|
11092
11215
|
<div class="doc doc-contents ">
|
|
11093
11216
|
<p class="doc doc-class-bases">
|
|
11094
|
-
Bases: <code><
|
|
11217
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11218
|
+
|
|
11219
|
+
|
|
11220
|
+
<p>An extendable form to be used for renaming objects in bulk.</p>
|
|
11221
|
+
|
|
11222
|
+
|
|
11223
|
+
|
|
11095
11224
|
|
|
11096
11225
|
|
|
11097
|
-
<p>An extendable form to be used for renaming objects in bulk.</p>
|
|
11098
11226
|
|
|
11099
11227
|
|
|
11100
11228
|
|
|
@@ -11130,15 +11258,20 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11130
11258
|
|
|
11131
11259
|
<div class="doc doc-contents ">
|
|
11132
11260
|
<p class="doc doc-class-bases">
|
|
11133
|
-
Bases: <code><
|
|
11261
|
+
Bases: <code><span title="django.forms.ChoiceField">ChoiceField</span></code></p>
|
|
11134
11262
|
|
|
11135
11263
|
|
|
11136
|
-
|
|
11264
|
+
<p>Invert the provided set of choices to take the human-friendly label as input, and return the database value.</p>
|
|
11137
11265
|
<p>Despite the name, this is no longer used in CSV imports since 2.0, but <em>is</em> used in JSON/YAML import of DeviceTypes.</p>
|
|
11138
11266
|
|
|
11139
11267
|
|
|
11140
11268
|
|
|
11141
11269
|
|
|
11270
|
+
|
|
11271
|
+
|
|
11272
|
+
|
|
11273
|
+
|
|
11274
|
+
|
|
11142
11275
|
<div class="doc doc-children">
|
|
11143
11276
|
|
|
11144
11277
|
|
|
@@ -11170,15 +11303,20 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11170
11303
|
|
|
11171
11304
|
<div class="doc doc-contents ">
|
|
11172
11305
|
<p class="doc doc-class-bases">
|
|
11173
|
-
Bases: <code><
|
|
11306
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.CSVModelChoiceField" href="#nautobot.apps.forms.CSVModelChoiceField">CSVModelChoiceField</a></code></p>
|
|
11174
11307
|
|
|
11175
11308
|
|
|
11176
|
-
|
|
11309
|
+
<p>Reference a ContentType in the form <code>{app_label}.{model}</code>.</p>
|
|
11177
11310
|
<p>Note: class name is misleading; this field is also used in numerous FilterSets where it has nothing to do with CSV.</p>
|
|
11178
11311
|
|
|
11179
11312
|
|
|
11180
11313
|
|
|
11181
11314
|
|
|
11315
|
+
|
|
11316
|
+
|
|
11317
|
+
|
|
11318
|
+
|
|
11319
|
+
|
|
11182
11320
|
<div class="doc doc-children">
|
|
11183
11321
|
|
|
11184
11322
|
|
|
@@ -11200,7 +11338,7 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11200
11338
|
|
|
11201
11339
|
<div class="doc doc-contents ">
|
|
11202
11340
|
|
|
11203
|
-
|
|
11341
|
+
<p>Allow this field to support <code>{app_label}.{model}</code> style, null values, or PK-based lookups
|
|
11204
11342
|
depending on how the field is used.</p>
|
|
11205
11343
|
|
|
11206
11344
|
</div>
|
|
@@ -11228,10 +11366,10 @@ depending on how the field is used.</p>
|
|
|
11228
11366
|
|
|
11229
11367
|
<div class="doc doc-contents ">
|
|
11230
11368
|
<p class="doc doc-class-bases">
|
|
11231
|
-
Bases: <code><
|
|
11369
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
11232
11370
|
|
|
11233
11371
|
|
|
11234
|
-
|
|
11372
|
+
<p>A CharField (rendered as a Textarea) which expects CSV-formatted data.</p>
|
|
11235
11373
|
<p>Initial value is a list of headers corresponding to the required fields for the given serializer class.</p>
|
|
11236
11374
|
<p>This no longer actually does any CSV parsing or validation on its own,
|
|
11237
11375
|
as that is now handled by the NautobotCSVParser class and the REST API serializers.</p>
|
|
@@ -11249,9 +11387,11 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11249
11387
|
</thead>
|
|
11250
11388
|
<tbody>
|
|
11251
11389
|
<tr class="doc-section-item">
|
|
11252
|
-
<td><code>required_field_names</code></td>
|
|
11253
11390
|
<td>
|
|
11254
|
-
|
|
11391
|
+
<code>required_field_names</code>
|
|
11392
|
+
</td>
|
|
11393
|
+
<td>
|
|
11394
|
+
<code>list[str]</code>
|
|
11255
11395
|
</td>
|
|
11256
11396
|
<td>
|
|
11257
11397
|
<div class="doc-md-description">
|
|
@@ -11268,6 +11408,11 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11268
11408
|
|
|
11269
11409
|
|
|
11270
11410
|
|
|
11411
|
+
|
|
11412
|
+
|
|
11413
|
+
|
|
11414
|
+
|
|
11415
|
+
|
|
11271
11416
|
<div class="doc doc-children">
|
|
11272
11417
|
|
|
11273
11418
|
|
|
@@ -11299,16 +11444,21 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11299
11444
|
|
|
11300
11445
|
<div class="doc doc-contents ">
|
|
11301
11446
|
<p class="doc doc-class-bases">
|
|
11302
|
-
Bases: <code><
|
|
11447
|
+
Bases: <code><span title="django.forms.FileField">FileField</span></code></p>
|
|
11303
11448
|
|
|
11304
11449
|
|
|
11305
|
-
|
|
11450
|
+
<p>A FileField (rendered as a ClearableFileInput) which expects a file containing CSV-formatted data.</p>
|
|
11306
11451
|
<p>This no longer actually does any CSV parsing or validation on its own,
|
|
11307
11452
|
as that is now handled by the NautobotCSVParser class and the REST API serializers.</p>
|
|
11308
11453
|
|
|
11309
11454
|
|
|
11310
11455
|
|
|
11311
11456
|
|
|
11457
|
+
|
|
11458
|
+
|
|
11459
|
+
|
|
11460
|
+
|
|
11461
|
+
|
|
11312
11462
|
<div class="doc doc-children">
|
|
11313
11463
|
|
|
11314
11464
|
|
|
@@ -11323,14 +11473,14 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11323
11473
|
|
|
11324
11474
|
|
|
11325
11475
|
<h3 id="nautobot.apps.forms.CSVFileField.to_python" class="doc doc-heading">
|
|
11326
|
-
<code class="highlight language-python"><span class="n">to_python</span><span class="p">(</span><span class="n">
|
|
11476
|
+
<code class="highlight language-python"><span class="n">to_python</span><span class="p">(</span><span class="n">data</span><span class="p">)</span></code>
|
|
11327
11477
|
|
|
11328
11478
|
<a href="#nautobot.apps.forms.CSVFileField.to_python" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11329
11479
|
|
|
11330
11480
|
|
|
11331
11481
|
<div class="doc doc-contents ">
|
|
11332
11482
|
|
|
11333
|
-
|
|
11483
|
+
<p>For parity with CSVDataField, this returns the CSV text rather than an UploadedFile object.</p>
|
|
11334
11484
|
|
|
11335
11485
|
</div>
|
|
11336
11486
|
|
|
@@ -11357,16 +11507,21 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11357
11507
|
|
|
11358
11508
|
<div class="doc doc-contents ">
|
|
11359
11509
|
<p class="doc doc-class-bases">
|
|
11360
|
-
Bases: <code><
|
|
11510
|
+
Bases: <code><span title="django.forms.ModelChoiceField">ModelChoiceField</span></code></p>
|
|
11361
11511
|
|
|
11362
11512
|
|
|
11363
|
-
|
|
11513
|
+
<p>Provides additional validation for model choices entered as CSV data.</p>
|
|
11364
11514
|
<p>Note: class name is misleading; the subclass CSVContentTypeField (below) is also used in FilterSets, where it has
|
|
11365
11515
|
nothing to do with CSV data.</p>
|
|
11366
11516
|
|
|
11367
11517
|
|
|
11368
11518
|
|
|
11369
11519
|
|
|
11520
|
+
|
|
11521
|
+
|
|
11522
|
+
|
|
11523
|
+
|
|
11524
|
+
|
|
11370
11525
|
<div class="doc doc-children">
|
|
11371
11526
|
|
|
11372
11527
|
|
|
@@ -11398,16 +11553,21 @@ nothing to do with CSV data.</p>
|
|
|
11398
11553
|
|
|
11399
11554
|
<div class="doc doc-contents ">
|
|
11400
11555
|
<p class="doc doc-class-bases">
|
|
11401
|
-
Bases: <code><
|
|
11556
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
11402
11557
|
|
|
11403
11558
|
|
|
11404
|
-
|
|
11559
|
+
<p>ModelForm used for the import of objects.</p>
|
|
11405
11560
|
<p>Note: the name is misleading as since 2.0 this is no longer used for CSV imports; however it <em>is</em> still used for
|
|
11406
11561
|
JSON/YAML imports of DeviceTypes and their component templates.</p>
|
|
11407
11562
|
|
|
11408
11563
|
|
|
11409
11564
|
|
|
11410
11565
|
|
|
11566
|
+
|
|
11567
|
+
|
|
11568
|
+
|
|
11569
|
+
|
|
11570
|
+
|
|
11411
11571
|
<div class="doc doc-children">
|
|
11412
11572
|
|
|
11413
11573
|
|
|
@@ -11439,16 +11599,21 @@ JSON/YAML imports of DeviceTypes and their component templates.</p>
|
|
|
11439
11599
|
|
|
11440
11600
|
<div class="doc doc-contents ">
|
|
11441
11601
|
<p class="doc doc-class-bases">
|
|
11442
|
-
Bases: <code><
|
|
11602
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.CSVChoiceField" href="#nautobot.apps.forms.CSVChoiceField">CSVChoiceField</a></code></p>
|
|
11443
11603
|
|
|
11444
11604
|
|
|
11445
|
-
|
|
11605
|
+
<p>A version of CSVChoiceField that supports and emits a list of choice values.</p>
|
|
11446
11606
|
<p>As with CSVChoiceField, the name is misleading, as this is no longer used for CSV imports, but is used for
|
|
11447
11607
|
JSON/YAML import of DeviceTypes still.</p>
|
|
11448
11608
|
|
|
11449
11609
|
|
|
11450
11610
|
|
|
11451
11611
|
|
|
11612
|
+
|
|
11613
|
+
|
|
11614
|
+
|
|
11615
|
+
|
|
11616
|
+
|
|
11452
11617
|
<div class="doc doc-children">
|
|
11453
11618
|
|
|
11454
11619
|
|
|
@@ -11470,7 +11635,7 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11470
11635
|
|
|
11471
11636
|
<div class="doc doc-contents ">
|
|
11472
11637
|
|
|
11473
|
-
|
|
11638
|
+
<p>Return a list of strings.</p>
|
|
11474
11639
|
|
|
11475
11640
|
</div>
|
|
11476
11641
|
|
|
@@ -11487,7 +11652,7 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11487
11652
|
|
|
11488
11653
|
<div class="doc doc-contents ">
|
|
11489
11654
|
|
|
11490
|
-
|
|
11655
|
+
<p>Validate that each of the input values is in self.choices.</p>
|
|
11491
11656
|
|
|
11492
11657
|
</div>
|
|
11493
11658
|
|
|
@@ -11514,16 +11679,21 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11514
11679
|
|
|
11515
11680
|
<div class="doc doc-contents ">
|
|
11516
11681
|
<p class="doc doc-class-bases">
|
|
11517
|
-
Bases: <code><
|
|
11682
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.MultipleContentTypeField" href="#nautobot.apps.forms.MultipleContentTypeField">MultipleContentTypeField</a></code></p>
|
|
11518
11683
|
|
|
11519
11684
|
|
|
11520
|
-
|
|
11685
|
+
<p>Reference a list of <code>ContentType</code> objects in the form `{app_label}.{model}'.</p>
|
|
11521
11686
|
<p>Note: This is unused in Nautobot core at this time, but some apps (data-validation-engine) use this for non-CSV
|
|
11522
11687
|
purposes, similar to CSVContentTypeField above.</p>
|
|
11523
11688
|
|
|
11524
11689
|
|
|
11525
11690
|
|
|
11526
11691
|
|
|
11692
|
+
|
|
11693
|
+
|
|
11694
|
+
|
|
11695
|
+
|
|
11696
|
+
|
|
11527
11697
|
<div class="doc doc-children">
|
|
11528
11698
|
|
|
11529
11699
|
|
|
@@ -11545,7 +11715,7 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11545
11715
|
|
|
11546
11716
|
<div class="doc doc-contents ">
|
|
11547
11717
|
|
|
11548
|
-
|
|
11718
|
+
<p>Parse a comma-separated string of model names into a list of PKs.</p>
|
|
11549
11719
|
|
|
11550
11720
|
</div>
|
|
11551
11721
|
|
|
@@ -11572,10 +11742,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11572
11742
|
|
|
11573
11743
|
<div class="doc doc-contents ">
|
|
11574
11744
|
<p class="doc doc-class-bases">
|
|
11575
|
-
Bases: <code><
|
|
11745
|
+
Bases: <code><span title="django.forms.Select">Select</span></code></p>
|
|
11746
|
+
|
|
11747
|
+
|
|
11748
|
+
<p>Extends the built-in Select widget to colorize each <option>.</p>
|
|
11749
|
+
|
|
11750
|
+
|
|
11751
|
+
|
|
11576
11752
|
|
|
11577
11753
|
|
|
11578
|
-
<p>Extends the built-in Select widget to colorize each <option>.</p>
|
|
11579
11754
|
|
|
11580
11755
|
|
|
11581
11756
|
|
|
@@ -11611,10 +11786,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11611
11786
|
|
|
11612
11787
|
<div class="doc doc-contents ">
|
|
11613
11788
|
<p class="doc doc-class-bases">
|
|
11614
|
-
Bases: <code><
|
|
11789
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
11790
|
+
|
|
11791
|
+
|
|
11792
|
+
<p>A textarea with support for Markdown rendering. Exists mostly just to add a standard help_text.</p>
|
|
11793
|
+
|
|
11794
|
+
|
|
11795
|
+
|
|
11615
11796
|
|
|
11616
11797
|
|
|
11617
|
-
<p>A textarea with support for Markdown rendering. Exists mostly just to add a standard help_text.</p>
|
|
11618
11798
|
|
|
11619
11799
|
|
|
11620
11800
|
|
|
@@ -11650,10 +11830,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11650
11830
|
|
|
11651
11831
|
<div class="doc doc-contents ">
|
|
11652
11832
|
<p class="doc doc-class-bases">
|
|
11653
|
-
Bases: <code><
|
|
11833
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.forms.ReturnURLForm" href="#nautobot.apps.forms.ReturnURLForm">ReturnURLForm</a></code></p>
|
|
11834
|
+
|
|
11835
|
+
|
|
11836
|
+
<p>A generic confirmation form. The form is not valid unless the confirm field is checked.</p>
|
|
11837
|
+
|
|
11838
|
+
|
|
11839
|
+
|
|
11654
11840
|
|
|
11655
11841
|
|
|
11656
|
-
<p>A generic confirmation form. The form is not valid unless the confirm field is checked.</p>
|
|
11657
11842
|
|
|
11658
11843
|
|
|
11659
11844
|
|
|
@@ -11689,10 +11874,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11689
11874
|
|
|
11690
11875
|
<div class="doc doc-contents ">
|
|
11691
11876
|
<p class="doc doc-class-bases">
|
|
11692
|
-
Bases: <code><
|
|
11877
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11878
|
+
|
|
11879
|
+
|
|
11880
|
+
<p>Adds the <code>contacts</code> and <code>teams</code> form fields to a filter form.</p>
|
|
11881
|
+
|
|
11882
|
+
|
|
11883
|
+
|
|
11693
11884
|
|
|
11694
11885
|
|
|
11695
|
-
<p>Adds the <code>contacts</code> and <code>teams</code> form fields to a filter form.</p>
|
|
11696
11886
|
|
|
11697
11887
|
|
|
11698
11888
|
|
|
@@ -11728,16 +11918,21 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11728
11918
|
|
|
11729
11919
|
<div class="doc doc-contents ">
|
|
11730
11920
|
<p class="doc doc-class-bases">
|
|
11731
|
-
Bases: <code><
|
|
11921
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.StaticSelect2" href="#nautobot.apps.forms.StaticSelect2">StaticSelect2</a></code></p>
|
|
11732
11922
|
|
|
11733
11923
|
|
|
11734
|
-
|
|
11924
|
+
<p>Appends an <code>api-value</code> attribute equal to the slugified model name for each ContentType. For example:
|
|
11735
11925
|
<option value="37" api-value="console-server-port">console server port</option>
|
|
11736
11926
|
This attribute can be used to reference the relevant API endpoint for a particular ContentType.</p>
|
|
11737
11927
|
|
|
11738
11928
|
|
|
11739
11929
|
|
|
11740
11930
|
|
|
11931
|
+
|
|
11932
|
+
|
|
11933
|
+
|
|
11934
|
+
|
|
11935
|
+
|
|
11741
11936
|
<div class="doc doc-children">
|
|
11742
11937
|
|
|
11743
11938
|
|
|
@@ -11769,10 +11964,10 @@ This attribute can be used to reference the relevant API endpoint for a particul
|
|
|
11769
11964
|
|
|
11770
11965
|
<div class="doc doc-contents ">
|
|
11771
11966
|
<p class="doc doc-class-bases">
|
|
11772
|
-
Bases: <code><
|
|
11967
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.CSVModelForm" href="#nautobot.apps.forms.CSVModelForm">CSVModelForm</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.CustomFieldModelFormMixin" href="#nautobot.apps.forms.CustomFieldModelFormMixin">CustomFieldModelFormMixin</a></code></p>
|
|
11773
11968
|
|
|
11774
11969
|
|
|
11775
|
-
|
|
11970
|
+
<p>Base class for CSV/JSON/YAML import of models that support custom fields.</p>
|
|
11776
11971
|
<p>TODO: The class name is a misnomer; as of 2.0 this class is <strong>not</strong> used for any CSV imports,
|
|
11777
11972
|
as that's now handled by the REST API. However it is still used when importing component-templates as
|
|
11778
11973
|
part of a JSON/YAML DeviceType import.</p>
|
|
@@ -11780,6 +11975,11 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11780
11975
|
|
|
11781
11976
|
|
|
11782
11977
|
|
|
11978
|
+
|
|
11979
|
+
|
|
11980
|
+
|
|
11981
|
+
|
|
11982
|
+
|
|
11783
11983
|
<div class="doc doc-children">
|
|
11784
11984
|
|
|
11785
11985
|
|
|
@@ -11811,7 +12011,12 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11811
12011
|
|
|
11812
12012
|
<div class="doc doc-contents ">
|
|
11813
12013
|
<p class="doc doc-class-bases">
|
|
11814
|
-
Bases: <code><
|
|
12014
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
12015
|
+
|
|
12016
|
+
|
|
12017
|
+
|
|
12018
|
+
|
|
12019
|
+
|
|
11815
12020
|
|
|
11816
12021
|
|
|
11817
12022
|
|
|
@@ -11848,10 +12053,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11848
12053
|
|
|
11849
12054
|
<div class="doc doc-contents ">
|
|
11850
12055
|
<p class="doc doc-class-bases">
|
|
11851
|
-
Bases: <code><
|
|
12056
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
12057
|
+
|
|
12058
|
+
|
|
12059
|
+
<p>Date picker using Flatpickr.</p>
|
|
12060
|
+
|
|
12061
|
+
|
|
12062
|
+
|
|
11852
12063
|
|
|
11853
12064
|
|
|
11854
|
-
<p>Date picker using Flatpickr.</p>
|
|
11855
12065
|
|
|
11856
12066
|
|
|
11857
12067
|
|
|
@@ -11887,10 +12097,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11887
12097
|
|
|
11888
12098
|
<div class="doc doc-contents ">
|
|
11889
12099
|
<p class="doc doc-class-bases">
|
|
11890
|
-
Bases: <code><
|
|
12100
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
12101
|
+
|
|
12102
|
+
|
|
12103
|
+
<p>DateTime picker using Flatpickr.</p>
|
|
12104
|
+
|
|
12105
|
+
|
|
12106
|
+
|
|
11891
12107
|
|
|
11892
12108
|
|
|
11893
|
-
<p>DateTime picker using Flatpickr.</p>
|
|
11894
12109
|
|
|
11895
12110
|
|
|
11896
12111
|
|
|
@@ -11926,10 +12141,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11926
12141
|
|
|
11927
12142
|
<div class="doc doc-contents ">
|
|
11928
12143
|
<p class="doc doc-class-bases">
|
|
11929
|
-
Bases: <code><
|
|
12144
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><span title="django.forms.Form">Form</span></code></p>
|
|
12145
|
+
|
|
12146
|
+
|
|
12147
|
+
<p>Form for dynamically inputting filter values for an object list.</p>
|
|
12148
|
+
|
|
12149
|
+
|
|
12150
|
+
|
|
11930
12151
|
|
|
11931
12152
|
|
|
11932
|
-
<p>Form for dynamically inputting filter values for an object list.</p>
|
|
11933
12153
|
|
|
11934
12154
|
|
|
11935
12155
|
|
|
@@ -11965,10 +12185,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11965
12185
|
|
|
11966
12186
|
<div class="doc doc-contents ">
|
|
11967
12187
|
<p class="doc doc-class-bases">
|
|
11968
|
-
Bases: <code><
|
|
12188
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
12189
|
+
|
|
12190
|
+
|
|
12191
|
+
<p>Mixin to add <code>dynamic_groups</code> field to model create/edit forms where applicable.</p>
|
|
12192
|
+
|
|
12193
|
+
|
|
12194
|
+
|
|
11969
12195
|
|
|
11970
12196
|
|
|
11971
|
-
<p>Mixin to add <code>dynamic_groups</code> field to model create/edit forms where applicable.</p>
|
|
11972
12197
|
|
|
11973
12198
|
|
|
11974
12199
|
|
|
@@ -12004,15 +12229,20 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
12004
12229
|
|
|
12005
12230
|
<div class="doc doc-contents ">
|
|
12006
12231
|
<p class="doc doc-class-bases">
|
|
12007
|
-
Bases: <code><
|
|
12232
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.DynamicModelChoiceMixin" href="#nautobot.apps.forms.DynamicModelChoiceMixin">DynamicModelChoiceMixin</a></code>, <code><span title="django.forms.ModelChoiceField">ModelChoiceField</span></code></p>
|
|
12008
12233
|
|
|
12009
12234
|
|
|
12010
|
-
|
|
12235
|
+
<p>Override get_bound_field() to avoid pre-populating field choices with a SQL query. The field will be
|
|
12011
12236
|
rendered only with choices set via bound data. Choices are populated on-demand via the APISelect widget.</p>
|
|
12012
12237
|
|
|
12013
12238
|
|
|
12014
12239
|
|
|
12015
12240
|
|
|
12241
|
+
|
|
12242
|
+
|
|
12243
|
+
|
|
12244
|
+
|
|
12245
|
+
|
|
12016
12246
|
<div class="doc doc-children">
|
|
12017
12247
|
|
|
12018
12248
|
|
|
@@ -12034,7 +12264,7 @@ rendered only with choices set via bound data. Choices are populated on-demand v
|
|
|
12034
12264
|
|
|
12035
12265
|
<div class="doc doc-contents ">
|
|
12036
12266
|
|
|
12037
|
-
|
|
12267
|
+
<p>When null option is enabled and "None" is sent as part of a form to be submitted, it is sent as the
|
|
12038
12268
|
string 'null'. This will check for that condition and gracefully handle the conversion to a NoneType.</p>
|
|
12039
12269
|
|
|
12040
12270
|
</div>
|
|
@@ -12063,7 +12293,7 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12063
12293
|
<div class="doc doc-contents ">
|
|
12064
12294
|
|
|
12065
12295
|
|
|
12066
|
-
|
|
12296
|
+
<p>:param display_field: The name of the attribute of an API response object to display in the selection list
|
|
12067
12297
|
:param query_params: A dictionary of additional key/value pairs to attach to the API request
|
|
12068
12298
|
:param initial_params: A dictionary of child field references to use for selecting a parent field's initial value
|
|
12069
12299
|
:param null_option: The string used to represent a null selection (if any)
|
|
@@ -12074,6 +12304,11 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12074
12304
|
|
|
12075
12305
|
|
|
12076
12306
|
|
|
12307
|
+
|
|
12308
|
+
|
|
12309
|
+
|
|
12310
|
+
|
|
12311
|
+
|
|
12077
12312
|
<div class="doc doc-children">
|
|
12078
12313
|
|
|
12079
12314
|
|
|
@@ -12095,7 +12330,7 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12095
12330
|
|
|
12096
12331
|
<div class="doc doc-contents ">
|
|
12097
12332
|
|
|
12098
|
-
|
|
12333
|
+
<p>Augment the behavior of forms.ModelChoiceField.prepare_value().</p>
|
|
12099
12334
|
<p>Specifically, if <code>value</code> is a PK, but we have <code>to_field_name</code> set, we need to look up the model instance
|
|
12100
12335
|
from the given PK, so that the base class will get the appropriate field value rather than just keeping the PK,
|
|
12101
12336
|
because the rendered form field needs this in order to correctly prepopulate a default selection.</p>
|
|
@@ -12125,10 +12360,15 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12125
12360
|
|
|
12126
12361
|
<div class="doc doc-contents ">
|
|
12127
12362
|
<p class="doc doc-class-bases">
|
|
12128
|
-
Bases: <code><
|
|
12363
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.DynamicModelChoiceMixin" href="#nautobot.apps.forms.DynamicModelChoiceMixin">DynamicModelChoiceMixin</a></code>, <code><span title="django.forms.ModelMultipleChoiceField">ModelMultipleChoiceField</span></code></p>
|
|
12364
|
+
|
|
12365
|
+
|
|
12366
|
+
<p>A multiple-choice version of DynamicModelChoiceField.</p>
|
|
12367
|
+
|
|
12368
|
+
|
|
12369
|
+
|
|
12129
12370
|
|
|
12130
12371
|
|
|
12131
|
-
<p>A multiple-choice version of DynamicModelChoiceField.</p>
|
|
12132
12372
|
|
|
12133
12373
|
|
|
12134
12374
|
|
|
@@ -12164,15 +12404,20 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12164
12404
|
|
|
12165
12405
|
<div class="doc doc-contents ">
|
|
12166
12406
|
<p class="doc doc-class-bases">
|
|
12167
|
-
Bases: <code><
|
|
12407
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12168
12408
|
|
|
12169
12409
|
|
|
12170
|
-
|
|
12410
|
+
<p>A field which allows for expansion of IP address ranges
|
|
12171
12411
|
Example: '192.0.2.[1-254]/24' => ['192.0.2.1/24', '192.0.2.2/24', '192.0.2.3/24' ... '192.0.2.254/24']</p>
|
|
12172
12412
|
|
|
12173
12413
|
|
|
12174
12414
|
|
|
12175
12415
|
|
|
12416
|
+
|
|
12417
|
+
|
|
12418
|
+
|
|
12419
|
+
|
|
12420
|
+
|
|
12176
12421
|
<div class="doc doc-children">
|
|
12177
12422
|
|
|
12178
12423
|
|
|
@@ -12204,15 +12449,20 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12204
12449
|
|
|
12205
12450
|
<div class="doc doc-contents ">
|
|
12206
12451
|
<p class="doc doc-class-bases">
|
|
12207
|
-
Bases: <code><
|
|
12452
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12208
12453
|
|
|
12209
12454
|
|
|
12210
|
-
|
|
12455
|
+
<p>A field which allows for numeric range expansion
|
|
12211
12456
|
Example: 'Gi0/[1-3]' => ['Gi0/1', 'Gi0/2', 'Gi0/3']</p>
|
|
12212
12457
|
|
|
12213
12458
|
|
|
12214
12459
|
|
|
12215
12460
|
|
|
12461
|
+
|
|
12462
|
+
|
|
12463
|
+
|
|
12464
|
+
|
|
12465
|
+
|
|
12216
12466
|
<div class="doc doc-children">
|
|
12217
12467
|
|
|
12218
12468
|
|
|
@@ -12244,10 +12494,15 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12244
12494
|
|
|
12245
12495
|
<div class="doc doc-contents ">
|
|
12246
12496
|
<p class="doc doc-class-bases">
|
|
12247
|
-
Bases: <code><
|
|
12497
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><span title="django.forms.Form">Form</span></code></p>
|
|
12498
|
+
|
|
12499
|
+
|
|
12500
|
+
<p>Generic form for creating an object from JSON/YAML data</p>
|
|
12501
|
+
|
|
12502
|
+
|
|
12503
|
+
|
|
12248
12504
|
|
|
12249
12505
|
|
|
12250
|
-
<p>Generic form for creating an object from JSON/YAML data</p>
|
|
12251
12506
|
|
|
12252
12507
|
|
|
12253
12508
|
|
|
@@ -12283,16 +12538,21 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12283
12538
|
|
|
12284
12539
|
<div class="doc doc-contents ">
|
|
12285
12540
|
<p class="doc doc-class-bases">
|
|
12286
|
-
Bases: <code><
|
|
12541
|
+
Bases: <code><span title="django.forms.JSONField">JSONField</span></code></p>
|
|
12287
12542
|
|
|
12288
12543
|
|
|
12289
|
-
|
|
12544
|
+
<p>A FormField counterpart to JSONArrayField.
|
|
12290
12545
|
Replicates ArrayFormField's base field validation: Field values are validated as JSON Arrays,
|
|
12291
12546
|
and each Array element is validated by <code>base_field</code> validators.</p>
|
|
12292
12547
|
|
|
12293
12548
|
|
|
12294
12549
|
|
|
12295
12550
|
|
|
12551
|
+
|
|
12552
|
+
|
|
12553
|
+
|
|
12554
|
+
|
|
12555
|
+
|
|
12296
12556
|
<div class="doc doc-children">
|
|
12297
12557
|
|
|
12298
12558
|
|
|
@@ -12314,7 +12574,7 @@ and each Array element is validated by <code>base_field</code> validators.</p>
|
|
|
12314
12574
|
|
|
12315
12575
|
<div class="doc doc-contents ">
|
|
12316
12576
|
|
|
12317
|
-
|
|
12577
|
+
<p>Validate <code>value</code> and return its "cleaned" value as an appropriate
|
|
12318
12578
|
Python object. Raise ValidationError for any errors.</p>
|
|
12319
12579
|
|
|
12320
12580
|
</div>
|
|
@@ -12332,7 +12592,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12332
12592
|
|
|
12333
12593
|
<div class="doc doc-contents ">
|
|
12334
12594
|
|
|
12335
|
-
|
|
12595
|
+
<p>Return True if <code>data</code> differs from <code>initial</code>.</p>
|
|
12336
12596
|
|
|
12337
12597
|
</div>
|
|
12338
12598
|
|
|
@@ -12349,7 +12609,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12349
12609
|
|
|
12350
12610
|
<div class="doc doc-contents ">
|
|
12351
12611
|
|
|
12352
|
-
|
|
12612
|
+
<p>Return a string of this value.</p>
|
|
12353
12613
|
|
|
12354
12614
|
</div>
|
|
12355
12615
|
|
|
@@ -12366,7 +12626,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12366
12626
|
|
|
12367
12627
|
<div class="doc doc-contents ">
|
|
12368
12628
|
|
|
12369
|
-
|
|
12629
|
+
<p>Runs all validators against <code>value</code> and raise ValidationError if necessary.
|
|
12370
12630
|
Some validators can't be created at field initialization time.</p>
|
|
12371
12631
|
|
|
12372
12632
|
</div>
|
|
@@ -12384,7 +12644,7 @@ Some validators can't be created at field initialization time.</p>
|
|
|
12384
12644
|
|
|
12385
12645
|
<div class="doc doc-contents ">
|
|
12386
12646
|
|
|
12387
|
-
|
|
12647
|
+
<p>Convert <code>value</code> into JSON, raising django.core.exceptions.ValidationError
|
|
12388
12648
|
if the data can't be converted. Return the converted value.</p>
|
|
12389
12649
|
|
|
12390
12650
|
</div>
|
|
@@ -12402,7 +12662,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12402
12662
|
|
|
12403
12663
|
<div class="doc doc-contents ">
|
|
12404
12664
|
|
|
12405
|
-
|
|
12665
|
+
<p>Check to see if the provided value is a valid choice.</p>
|
|
12406
12666
|
|
|
12407
12667
|
</div>
|
|
12408
12668
|
|
|
@@ -12419,7 +12679,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12419
12679
|
|
|
12420
12680
|
<div class="doc doc-contents ">
|
|
12421
12681
|
|
|
12422
|
-
|
|
12682
|
+
<p>Validate <code>value</code> and raise ValidationError if necessary.</p>
|
|
12423
12683
|
|
|
12424
12684
|
</div>
|
|
12425
12685
|
|
|
@@ -12446,10 +12706,15 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12446
12706
|
|
|
12447
12707
|
<div class="doc doc-contents ">
|
|
12448
12708
|
<p class="doc doc-class-bases">
|
|
12449
|
-
Bases: <code><
|
|
12709
|
+
Bases: <code><span title="django.forms.fields.JSONField">JSONField</span></code></p>
|
|
12710
|
+
|
|
12711
|
+
|
|
12712
|
+
<p>Custom wrapper around Django's built-in JSONField to avoid presenting "null" as the default text.</p>
|
|
12713
|
+
|
|
12714
|
+
|
|
12715
|
+
|
|
12450
12716
|
|
|
12451
12717
|
|
|
12452
|
-
<p>Custom wrapper around Django's built-in JSONField to avoid presenting "null" as the default text.</p>
|
|
12453
12718
|
|
|
12454
12719
|
|
|
12455
12720
|
|
|
@@ -12485,15 +12750,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12485
12750
|
|
|
12486
12751
|
<div class="doc doc-contents ">
|
|
12487
12752
|
<p class="doc doc-class-bases">
|
|
12488
|
-
Bases: <code><
|
|
12753
|
+
Bases: <code><span title="django.forms.URLField">URLField</span></code></p>
|
|
12489
12754
|
|
|
12490
12755
|
|
|
12491
|
-
|
|
12756
|
+
<p>Modifies Django's built-in URLField to remove the requirement for fully-qualified domain names
|
|
12492
12757
|
(e.g. http://myserver/ is valid)</p>
|
|
12493
12758
|
|
|
12494
12759
|
|
|
12495
12760
|
|
|
12496
12761
|
|
|
12762
|
+
|
|
12763
|
+
|
|
12764
|
+
|
|
12765
|
+
|
|
12766
|
+
|
|
12497
12767
|
<div class="doc doc-children">
|
|
12498
12768
|
|
|
12499
12769
|
|
|
@@ -12525,15 +12795,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12525
12795
|
|
|
12526
12796
|
<div class="doc doc-contents ">
|
|
12527
12797
|
<p class="doc doc-class-bases">
|
|
12528
|
-
Bases: <code><
|
|
12798
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.DynamicModelChoiceMixin" href="#nautobot.apps.forms.DynamicModelChoiceMixin">DynamicModelChoiceMixin</a></code>, <code><span title="django_filters.fields.ModelMultipleChoiceField">ModelMultipleChoiceField</span></code></p>
|
|
12529
12799
|
|
|
12530
12800
|
|
|
12531
|
-
|
|
12801
|
+
<p>Filter field to support matching on the PK <em>or</em> <code>to_field_name</code> fields (defaulting to <code>slug</code> if not specified).</p>
|
|
12532
12802
|
<p>Raises ValidationError if none of the fields match the requested value.</p>
|
|
12533
12803
|
|
|
12534
12804
|
|
|
12535
12805
|
|
|
12536
12806
|
|
|
12807
|
+
|
|
12808
|
+
|
|
12809
|
+
|
|
12810
|
+
|
|
12811
|
+
|
|
12537
12812
|
<div class="doc doc-children">
|
|
12538
12813
|
|
|
12539
12814
|
|
|
@@ -12565,15 +12840,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12565
12840
|
|
|
12566
12841
|
<div class="doc doc-contents ">
|
|
12567
12842
|
<p class="doc doc-class-bases">
|
|
12568
|
-
Bases: <code><
|
|
12843
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12569
12844
|
|
|
12570
12845
|
|
|
12571
|
-
|
|
12846
|
+
<p>CharField that takes multiple user character inputs and render them as tags in the form field.
|
|
12572
12847
|
Press enter to complete an input.</p>
|
|
12573
12848
|
|
|
12574
12849
|
|
|
12575
12850
|
|
|
12576
12851
|
|
|
12852
|
+
|
|
12853
|
+
|
|
12854
|
+
|
|
12855
|
+
|
|
12856
|
+
|
|
12577
12857
|
<div class="doc doc-children">
|
|
12578
12858
|
|
|
12579
12859
|
|
|
@@ -12605,15 +12885,20 @@ Press enter to complete an input.</p>
|
|
|
12605
12885
|
|
|
12606
12886
|
<div class="doc doc-contents ">
|
|
12607
12887
|
<p class="doc doc-class-bases">
|
|
12608
|
-
Bases: <code><
|
|
12888
|
+
Bases: <code><span title="nautobot.core.forms.widgets.StaticSelect2Multiple">StaticSelect2Multiple</span></code></p>
|
|
12609
12889
|
|
|
12610
12890
|
|
|
12611
|
-
|
|
12891
|
+
<p>Manual text input with tagging enabled.
|
|
12612
12892
|
Press enter to create a new entry.</p>
|
|
12613
12893
|
|
|
12614
12894
|
|
|
12615
12895
|
|
|
12616
12896
|
|
|
12897
|
+
|
|
12898
|
+
|
|
12899
|
+
|
|
12900
|
+
|
|
12901
|
+
|
|
12617
12902
|
<div class="doc doc-children">
|
|
12618
12903
|
|
|
12619
12904
|
|
|
@@ -12645,16 +12930,21 @@ Press enter to create a new entry.</p>
|
|
|
12645
12930
|
|
|
12646
12931
|
<div class="doc doc-contents ">
|
|
12647
12932
|
<p class="doc doc-class-bases">
|
|
12648
|
-
Bases: <code><
|
|
12933
|
+
Bases: <code><span title="django.forms.ModelMultipleChoiceField">ModelMultipleChoiceField</span></code></p>
|
|
12649
12934
|
|
|
12650
12935
|
|
|
12651
|
-
|
|
12936
|
+
<p>Field for choosing any number of <code>ContentType</code> objects.</p>
|
|
12652
12937
|
<p>Optionally can restrict the available ContentTypes to those supporting a particular feature only.
|
|
12653
12938
|
Optionally can pass the selection through as a list of <code>{app_label}.{model}</code> strings instead of PK values.</p>
|
|
12654
12939
|
|
|
12655
12940
|
|
|
12656
12941
|
|
|
12657
12942
|
|
|
12943
|
+
|
|
12944
|
+
|
|
12945
|
+
|
|
12946
|
+
|
|
12947
|
+
|
|
12658
12948
|
<div class="doc doc-children">
|
|
12659
12949
|
|
|
12660
12950
|
|
|
@@ -12676,7 +12966,7 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12676
12966
|
|
|
12677
12967
|
<div class="doc doc-contents ">
|
|
12678
12968
|
|
|
12679
|
-
|
|
12969
|
+
<p>Construct a MultipleContentTypeField.</p>
|
|
12680
12970
|
|
|
12681
12971
|
|
|
12682
12972
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12691,9 +12981,11 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12691
12981
|
</thead>
|
|
12692
12982
|
<tbody>
|
|
12693
12983
|
<tr class="doc-section-item">
|
|
12694
|
-
<td><code>feature</code></td>
|
|
12695
12984
|
<td>
|
|
12696
|
-
|
|
12985
|
+
<code>feature</code>
|
|
12986
|
+
</td>
|
|
12987
|
+
<td>
|
|
12988
|
+
<code>str</code>
|
|
12697
12989
|
</td>
|
|
12698
12990
|
<td>
|
|
12699
12991
|
<div class="doc-md-description">
|
|
@@ -12705,9 +12997,11 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12705
12997
|
</td>
|
|
12706
12998
|
</tr>
|
|
12707
12999
|
<tr class="doc-section-item">
|
|
12708
|
-
<td><code>choices_as_strings</code></td>
|
|
12709
13000
|
<td>
|
|
12710
|
-
|
|
13001
|
+
<code>choices_as_strings</code>
|
|
13002
|
+
</td>
|
|
13003
|
+
<td>
|
|
13004
|
+
<code>bool</code>
|
|
12711
13005
|
</td>
|
|
12712
13006
|
<td>
|
|
12713
13007
|
<div class="doc-md-description">
|
|
@@ -12746,10 +13040,15 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12746
13040
|
|
|
12747
13041
|
<div class="doc doc-contents ">
|
|
12748
13042
|
<p class="doc doc-class-bases">
|
|
12749
|
-
Bases: <code><
|
|
13043
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><span title="nautobot.extras.forms.mixins.CustomFieldModelBulkEditFormMixin">CustomFieldModelBulkEditFormMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.NoteModelBulkEditFormMixin" href="#nautobot.apps.forms.NoteModelBulkEditFormMixin">NoteModelBulkEditFormMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.RelationshipModelBulkEditFormMixin" href="#nautobot.apps.forms.RelationshipModelBulkEditFormMixin">RelationshipModelBulkEditFormMixin</a></code></p>
|
|
13044
|
+
|
|
13045
|
+
|
|
13046
|
+
<p>Base class for bulk-edit forms for models that support relationships, custom fields and notes.</p>
|
|
13047
|
+
|
|
13048
|
+
|
|
13049
|
+
|
|
12750
13050
|
|
|
12751
13051
|
|
|
12752
|
-
<p>Base class for bulk-edit forms for models that support relationships, custom fields and notes.</p>
|
|
12753
13052
|
|
|
12754
13053
|
|
|
12755
13054
|
|
|
@@ -12785,16 +13084,21 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12785
13084
|
|
|
12786
13085
|
<div class="doc doc-contents ">
|
|
12787
13086
|
<p class="doc doc-class-bases">
|
|
12788
|
-
Bases: <code><
|
|
13087
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.ContactTeamModelFilterFormMixin" href="#nautobot.apps.forms.ContactTeamModelFilterFormMixin">ContactTeamModelFilterFormMixin</a></code>, <code><span title="nautobot.extras.forms.mixins.CustomFieldModelFilterFormMixin">CustomFieldModelFilterFormMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.RelationshipModelFilterFormMixin" href="#nautobot.apps.forms.RelationshipModelFilterFormMixin">RelationshipModelFilterFormMixin</a></code></p>
|
|
12789
13088
|
|
|
12790
13089
|
|
|
12791
|
-
|
|
13090
|
+
<p>This class exists to combine common functionality and is used to inherit from throughout the
|
|
12792
13091
|
codebase where all of ContactTeamModelFilterFormMixin, CustomFieldModelFilterFormMixin, and
|
|
12793
13092
|
RelationshipModelFilterFormMixin are needed.</p>
|
|
12794
13093
|
|
|
12795
13094
|
|
|
12796
13095
|
|
|
12797
13096
|
|
|
13097
|
+
|
|
13098
|
+
|
|
13099
|
+
|
|
13100
|
+
|
|
13101
|
+
|
|
12798
13102
|
<div class="doc doc-children">
|
|
12799
13103
|
|
|
12800
13104
|
|
|
@@ -12826,16 +13130,21 @@ RelationshipModelFilterFormMixin are needed.</p>
|
|
|
12826
13130
|
|
|
12827
13131
|
<div class="doc doc-contents ">
|
|
12828
13132
|
<p class="doc doc-class-bases">
|
|
12829
|
-
Bases: <code><
|
|
13133
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.CustomFieldModelFormMixin" href="#nautobot.apps.forms.CustomFieldModelFormMixin">CustomFieldModelFormMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.DynamicGroupModelFormMixin" href="#nautobot.apps.forms.DynamicGroupModelFormMixin">DynamicGroupModelFormMixin</a></code>, <code><span title="nautobot.extras.forms.mixins.NoteModelFormMixin">NoteModelFormMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.RelationshipModelFormMixin" href="#nautobot.apps.forms.RelationshipModelFormMixin">RelationshipModelFormMixin</a></code></p>
|
|
12830
13134
|
|
|
12831
13135
|
|
|
12832
|
-
|
|
13136
|
+
<p>This class exists to combine common functionality and is used to inherit from throughout the
|
|
12833
13137
|
codebase where all of BootstrapMixin, CustomFieldModelFormMixin, RelationshipModelFormMixin, and
|
|
12834
13138
|
NoteModelFormMixin are needed.</p>
|
|
12835
13139
|
|
|
12836
13140
|
|
|
12837
13141
|
|
|
12838
13142
|
|
|
13143
|
+
|
|
13144
|
+
|
|
13145
|
+
|
|
13146
|
+
|
|
13147
|
+
|
|
12839
13148
|
<div class="doc doc-children">
|
|
12840
13149
|
|
|
12841
13150
|
|
|
@@ -12867,10 +13176,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12867
13176
|
|
|
12868
13177
|
<div class="doc doc-contents ">
|
|
12869
13178
|
<p class="doc doc-class-bases">
|
|
12870
|
-
Bases: <code><
|
|
13179
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13180
|
+
|
|
13181
|
+
|
|
13182
|
+
<p>Base for the NoteModelFormMixin and NoteModelBulkEditFormMixin.</p>
|
|
13183
|
+
|
|
13184
|
+
|
|
13185
|
+
|
|
12871
13186
|
|
|
12872
13187
|
|
|
12873
|
-
<p>Base for the NoteModelFormMixin and NoteModelBulkEditFormMixin.</p>
|
|
12874
13188
|
|
|
12875
13189
|
|
|
12876
13190
|
|
|
@@ -12906,10 +13220,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12906
13220
|
|
|
12907
13221
|
<div class="doc doc-contents ">
|
|
12908
13222
|
<p class="doc doc-class-bases">
|
|
12909
|
-
Bases: <code><
|
|
13223
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BulkEditForm" href="#nautobot.apps.forms.BulkEditForm">BulkEditForm</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.forms.mixins.NoteFormBase" href="#nautobot.apps.forms.NoteFormBase">NoteFormBase</a></code></p>
|
|
13224
|
+
|
|
13225
|
+
|
|
13226
|
+
<p>Bulk-edit form mixin for models that support Notes.</p>
|
|
13227
|
+
|
|
13228
|
+
|
|
13229
|
+
|
|
12910
13230
|
|
|
12911
13231
|
|
|
12912
|
-
<p>Bulk-edit form mixin for models that support Notes.</p>
|
|
12913
13232
|
|
|
12914
13233
|
|
|
12915
13234
|
|
|
@@ -12945,10 +13264,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12945
13264
|
|
|
12946
13265
|
<div class="doc doc-contents ">
|
|
12947
13266
|
<p class="doc doc-class-bases">
|
|
12948
|
-
Bases: <code><
|
|
13267
|
+
Bases: <code><span title="django.contrib.postgres.forms.SimpleArrayField">SimpleArrayField</span></code></p>
|
|
13268
|
+
|
|
13269
|
+
|
|
13270
|
+
<p>Basic array field that takes comma-separated or hyphenated ranges.</p>
|
|
13271
|
+
|
|
13272
|
+
|
|
13273
|
+
|
|
12949
13274
|
|
|
12950
13275
|
|
|
12951
|
-
<p>Basic array field that takes comma-separated or hyphenated ranges.</p>
|
|
12952
13276
|
|
|
12953
13277
|
|
|
12954
13278
|
|
|
@@ -12984,10 +13308,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12984
13308
|
|
|
12985
13309
|
<div class="doc doc-contents ">
|
|
12986
13310
|
<p class="doc doc-class-bases">
|
|
12987
|
-
Bases: <code><
|
|
13311
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
13312
|
+
|
|
13313
|
+
|
|
13314
|
+
<p>ModelForm mixin for IPNetwork based models.</p>
|
|
13315
|
+
|
|
13316
|
+
|
|
13317
|
+
|
|
12988
13318
|
|
|
12989
13319
|
|
|
12990
|
-
<p>ModelForm mixin for IPNetwork based models.</p>
|
|
12991
13320
|
|
|
12992
13321
|
|
|
12993
13322
|
|
|
@@ -13023,10 +13352,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
13023
13352
|
|
|
13024
13353
|
<div class="doc doc-contents ">
|
|
13025
13354
|
<p class="doc doc-class-bases">
|
|
13026
|
-
Bases: <code><
|
|
13355
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BulkEditForm" href="#nautobot.apps.forms.BulkEditForm">BulkEditForm</a></code></p>
|
|
13356
|
+
|
|
13357
|
+
|
|
13358
|
+
<p>Bulk-edit form mixin for models that support Relationships.</p>
|
|
13359
|
+
|
|
13360
|
+
|
|
13361
|
+
|
|
13027
13362
|
|
|
13028
13363
|
|
|
13029
|
-
<p>Bulk-edit form mixin for models that support Relationships.</p>
|
|
13030
13364
|
|
|
13031
13365
|
|
|
13032
13366
|
|
|
@@ -13052,7 +13386,7 @@ NoteModelFormMixin are needed.</p>
|
|
|
13052
13386
|
|
|
13053
13387
|
<div class="doc doc-contents ">
|
|
13054
13388
|
|
|
13055
|
-
|
|
13389
|
+
<p>Helper method to be called from BulkEditView.post().</p>
|
|
13056
13390
|
|
|
13057
13391
|
</div>
|
|
13058
13392
|
|
|
@@ -13079,7 +13413,12 @@ NoteModelFormMixin are needed.</p>
|
|
|
13079
13413
|
|
|
13080
13414
|
<div class="doc doc-contents ">
|
|
13081
13415
|
<p class="doc doc-class-bases">
|
|
13082
|
-
Bases: <code><
|
|
13416
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13417
|
+
|
|
13418
|
+
|
|
13419
|
+
|
|
13420
|
+
|
|
13421
|
+
|
|
13083
13422
|
|
|
13084
13423
|
|
|
13085
13424
|
|
|
@@ -13116,7 +13455,12 @@ NoteModelFormMixin are needed.</p>
|
|
|
13116
13455
|
|
|
13117
13456
|
<div class="doc doc-contents ">
|
|
13118
13457
|
<p class="doc doc-class-bases">
|
|
13119
|
-
Bases: <code><
|
|
13458
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
13459
|
+
|
|
13460
|
+
|
|
13461
|
+
|
|
13462
|
+
|
|
13463
|
+
|
|
13120
13464
|
|
|
13121
13465
|
|
|
13122
13466
|
|
|
@@ -13143,7 +13487,7 @@ NoteModelFormMixin are needed.</p>
|
|
|
13143
13487
|
|
|
13144
13488
|
<div class="doc doc-contents ">
|
|
13145
13489
|
|
|
13146
|
-
|
|
13490
|
+
<p>First check for any required relationships errors and if there are any, add them via form field errors.
|
|
13147
13491
|
Then verify that any requested RelationshipAssociations do not violate relationship cardinality restrictions.</p>
|
|
13148
13492
|
<ul>
|
|
13149
13493
|
<li>For TYPE_ONE_TO_MANY and TYPE_ONE_TO_ONE relations, if the form's object is on the "source" side of
|
|
@@ -13179,10 +13523,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13179
13523
|
|
|
13180
13524
|
<div class="doc doc-contents ">
|
|
13181
13525
|
<p class="doc doc-class-bases">
|
|
13182
|
-
Bases: <code><
|
|
13526
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13527
|
+
|
|
13528
|
+
|
|
13529
|
+
<p>Provides a hidden return URL field to control where the user is directed after the form is submitted.</p>
|
|
13530
|
+
|
|
13531
|
+
|
|
13532
|
+
|
|
13183
13533
|
|
|
13184
13534
|
|
|
13185
|
-
<p>Provides a hidden return URL field to control where the user is directed after the form is submitted.</p>
|
|
13186
13535
|
|
|
13187
13536
|
|
|
13188
13537
|
|
|
@@ -13218,10 +13567,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13218
13567
|
|
|
13219
13568
|
<div class="doc doc-contents ">
|
|
13220
13569
|
<p class="doc doc-class-bases">
|
|
13221
|
-
Bases: <code><
|
|
13570
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13571
|
+
|
|
13572
|
+
|
|
13573
|
+
<p>Mixin to add non-required <code>role</code> choice field to forms.</p>
|
|
13574
|
+
|
|
13575
|
+
|
|
13576
|
+
|
|
13222
13577
|
|
|
13223
13578
|
|
|
13224
|
-
<p>Mixin to add non-required <code>role</code> choice field to forms.</p>
|
|
13225
13579
|
|
|
13226
13580
|
|
|
13227
13581
|
|
|
@@ -13257,10 +13611,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13257
13611
|
|
|
13258
13612
|
<div class="doc doc-contents ">
|
|
13259
13613
|
<p class="doc doc-class-bases">
|
|
13260
|
-
Bases: <code><
|
|
13614
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13615
|
+
|
|
13616
|
+
|
|
13617
|
+
<p>Mixin to add non-required <code>role</code> multiple-choice field to filter forms.</p>
|
|
13618
|
+
|
|
13619
|
+
|
|
13620
|
+
|
|
13261
13621
|
|
|
13262
13622
|
|
|
13263
|
-
<p>Mixin to add non-required <code>role</code> multiple-choice field to filter forms.</p>
|
|
13264
13623
|
|
|
13265
13624
|
|
|
13266
13625
|
|
|
@@ -13296,15 +13655,20 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13296
13655
|
|
|
13297
13656
|
<div class="doc doc-contents ">
|
|
13298
13657
|
<p class="doc doc-class-bases">
|
|
13299
|
-
Bases: <code><
|
|
13658
|
+
Bases: <code><span title="django.forms.Select">Select</span></code></p>
|
|
13300
13659
|
|
|
13301
13660
|
|
|
13302
|
-
|
|
13661
|
+
<p>Modified the stock Select widget to accept choices using a dict() for a label. The dict for each option must include
|
|
13303
13662
|
'label' (string) and 'disabled' (boolean).</p>
|
|
13304
13663
|
|
|
13305
13664
|
|
|
13306
13665
|
|
|
13307
13666
|
|
|
13667
|
+
|
|
13668
|
+
|
|
13669
|
+
|
|
13670
|
+
|
|
13671
|
+
|
|
13308
13672
|
<div class="doc doc-children">
|
|
13309
13673
|
|
|
13310
13674
|
|
|
@@ -13336,10 +13700,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13336
13700
|
|
|
13337
13701
|
<div class="doc doc-contents ">
|
|
13338
13702
|
<p class="doc doc-class-bases">
|
|
13339
|
-
Bases: <code><
|
|
13703
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.StaticSelect2" href="#nautobot.apps.forms.StaticSelect2">StaticSelect2</a></code></p>
|
|
13704
|
+
|
|
13705
|
+
|
|
13706
|
+
<p>Include the primary key of each option in the option label (e.g. "Router7 (4721)").</p>
|
|
13707
|
+
|
|
13708
|
+
|
|
13709
|
+
|
|
13340
13710
|
|
|
13341
13711
|
|
|
13342
|
-
<p>Include the primary key of each option in the option label (e.g. "Router7 (4721)").</p>
|
|
13343
13712
|
|
|
13344
13713
|
|
|
13345
13714
|
|
|
@@ -13375,10 +13744,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13375
13744
|
|
|
13376
13745
|
<div class="doc doc-contents ">
|
|
13377
13746
|
<p class="doc doc-class-bases">
|
|
13378
|
-
Bases: <code><
|
|
13747
|
+
Bases: <code><span title="django.forms.SlugField">SlugField</span></code></p>
|
|
13748
|
+
|
|
13749
|
+
|
|
13750
|
+
<p>Extend the built-in SlugField to automatically populate from a field called <code>name</code> unless otherwise specified.</p>
|
|
13751
|
+
|
|
13752
|
+
|
|
13753
|
+
|
|
13379
13754
|
|
|
13380
13755
|
|
|
13381
|
-
<p>Extend the built-in SlugField to automatically populate from a field called <code>name</code> unless otherwise specified.</p>
|
|
13382
13756
|
|
|
13383
13757
|
|
|
13384
13758
|
|
|
@@ -13404,7 +13778,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13404
13778
|
|
|
13405
13779
|
<div class="doc doc-contents ">
|
|
13406
13780
|
|
|
13407
|
-
|
|
13781
|
+
<p>Instantiate a SlugField.</p>
|
|
13408
13782
|
|
|
13409
13783
|
|
|
13410
13784
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13419,9 +13793,11 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13419
13793
|
</thead>
|
|
13420
13794
|
<tbody>
|
|
13421
13795
|
<tr class="doc-section-item">
|
|
13422
|
-
<td><code>slug_source</code></td>
|
|
13423
13796
|
<td>
|
|
13424
|
-
|
|
13797
|
+
<code>slug_source</code>
|
|
13798
|
+
</td>
|
|
13799
|
+
<td>
|
|
13800
|
+
<code>(str, tuple)</code>
|
|
13425
13801
|
</td>
|
|
13426
13802
|
<td>
|
|
13427
13803
|
<div class="doc-md-description">
|
|
@@ -13460,10 +13836,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13460
13836
|
|
|
13461
13837
|
<div class="doc doc-contents ">
|
|
13462
13838
|
<p class="doc doc-class-bases">
|
|
13463
|
-
Bases: <code><
|
|
13839
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
13840
|
+
|
|
13841
|
+
|
|
13842
|
+
<p>Subclass TextInput and add a slug regeneration button next to the form field.</p>
|
|
13843
|
+
|
|
13844
|
+
|
|
13845
|
+
|
|
13464
13846
|
|
|
13465
13847
|
|
|
13466
|
-
<p>Subclass TextInput and add a slug regeneration button next to the form field.</p>
|
|
13467
13848
|
|
|
13468
13849
|
|
|
13469
13850
|
|
|
@@ -13499,10 +13880,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13499
13880
|
|
|
13500
13881
|
<div class="doc doc-contents ">
|
|
13501
13882
|
<p class="doc doc-class-bases">
|
|
13502
|
-
Bases: <code><
|
|
13883
|
+
Bases: <code><span title="django.forms.Textarea">Textarea</span></code></p>
|
|
13884
|
+
|
|
13885
|
+
|
|
13886
|
+
<p>Subclass used for rendering a smaller textarea element.</p>
|
|
13887
|
+
|
|
13888
|
+
|
|
13889
|
+
|
|
13503
13890
|
|
|
13504
13891
|
|
|
13505
|
-
<p>Subclass used for rendering a smaller textarea element.</p>
|
|
13506
13892
|
|
|
13507
13893
|
|
|
13508
13894
|
</div>
|
|
@@ -13522,10 +13908,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13522
13908
|
|
|
13523
13909
|
<div class="doc doc-contents ">
|
|
13524
13910
|
<p class="doc doc-class-bases">
|
|
13525
|
-
Bases: <code><
|
|
13911
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.SelectWithDisabled" href="#nautobot.apps.forms.SelectWithDisabled">SelectWithDisabled</a></code></p>
|
|
13912
|
+
|
|
13913
|
+
|
|
13914
|
+
<p>A static <select> form widget using the Select2 library.</p>
|
|
13915
|
+
|
|
13916
|
+
|
|
13917
|
+
|
|
13526
13918
|
|
|
13527
13919
|
|
|
13528
|
-
<p>A static <select> form widget using the Select2 library.</p>
|
|
13529
13920
|
|
|
13530
13921
|
|
|
13531
13922
|
|
|
@@ -13561,10 +13952,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13561
13952
|
|
|
13562
13953
|
<div class="doc doc-contents ">
|
|
13563
13954
|
<p class="doc doc-class-bases">
|
|
13564
|
-
Bases: <code><
|
|
13955
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13956
|
+
|
|
13957
|
+
|
|
13958
|
+
<p>Mixin to add non-required <code>status</code> choice field to forms.</p>
|
|
13959
|
+
|
|
13960
|
+
|
|
13961
|
+
|
|
13565
13962
|
|
|
13566
13963
|
|
|
13567
|
-
<p>Mixin to add non-required <code>status</code> choice field to forms.</p>
|
|
13568
13964
|
|
|
13569
13965
|
|
|
13570
13966
|
|
|
@@ -13600,10 +13996,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13600
13996
|
|
|
13601
13997
|
<div class="doc doc-contents ">
|
|
13602
13998
|
<p class="doc doc-class-bases">
|
|
13603
|
-
Bases: <code><
|
|
13999
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
14000
|
+
|
|
14001
|
+
|
|
14002
|
+
<p>Mixin to add non-required <code>status</code> multiple-choice field to filter forms.</p>
|
|
14003
|
+
|
|
14004
|
+
|
|
14005
|
+
|
|
13604
14006
|
|
|
13605
14007
|
|
|
13606
|
-
<p>Mixin to add non-required <code>status</code> multiple-choice field to filter forms.</p>
|
|
13607
14008
|
|
|
13608
14009
|
|
|
13609
14010
|
|
|
@@ -13639,10 +14040,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13639
14040
|
|
|
13640
14041
|
<div class="doc doc-contents ">
|
|
13641
14042
|
<p class="doc doc-class-bases">
|
|
13642
|
-
Bases: <code><
|
|
14043
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.forms.BootstrapMixin" href="#nautobot.apps.forms.BootstrapMixin">BootstrapMixin</a></code>, <code><span title="django.forms.Form">Form</span></code></p>
|
|
14044
|
+
|
|
14045
|
+
|
|
14046
|
+
<p>Form for configuring user's table preferences.</p>
|
|
14047
|
+
|
|
14048
|
+
|
|
14049
|
+
|
|
13643
14050
|
|
|
13644
14051
|
|
|
13645
|
-
<p>Form for configuring user's table preferences.</p>
|
|
13646
14052
|
|
|
13647
14053
|
|
|
13648
14054
|
|
|
@@ -13678,15 +14084,20 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13678
14084
|
|
|
13679
14085
|
<div class="doc doc-contents ">
|
|
13680
14086
|
<p class="doc doc-class-bases">
|
|
13681
|
-
Bases: <code><
|
|
14087
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.DynamicModelMultipleChoiceField" href="#nautobot.apps.forms.DynamicModelMultipleChoiceField">DynamicModelMultipleChoiceField</a></code></p>
|
|
13682
14088
|
|
|
13683
14089
|
|
|
13684
|
-
|
|
14090
|
+
<p>A filter field for the tags of a model. Only the tags used by a model are displayed.</p>
|
|
13685
14091
|
<p>:param model: The model of the filter</p>
|
|
13686
14092
|
|
|
13687
14093
|
|
|
13688
14094
|
|
|
13689
14095
|
|
|
14096
|
+
|
|
14097
|
+
|
|
14098
|
+
|
|
14099
|
+
|
|
14100
|
+
|
|
13690
14101
|
<div class="doc doc-children">
|
|
13691
14102
|
|
|
13692
14103
|
|
|
@@ -13718,10 +14129,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13718
14129
|
|
|
13719
14130
|
<div class="doc doc-contents ">
|
|
13720
14131
|
<p class="doc doc-class-bases">
|
|
13721
|
-
Bases: <code><
|
|
14132
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
14133
|
+
|
|
14134
|
+
|
|
14135
|
+
<p>Time picker using Flatpickr.</p>
|
|
14136
|
+
|
|
14137
|
+
|
|
14138
|
+
|
|
13722
14139
|
|
|
13723
14140
|
|
|
13724
|
-
<p>Time picker using Flatpickr.</p>
|
|
13725
14141
|
|
|
13726
14142
|
|
|
13727
14143
|
|
|
@@ -13756,7 +14172,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13756
14172
|
|
|
13757
14173
|
<div class="doc doc-contents ">
|
|
13758
14174
|
|
|
13759
|
-
|
|
14175
|
+
<p>Add a blank choice to the beginning of a choices list.</p>
|
|
13760
14176
|
|
|
13761
14177
|
</div>
|
|
13762
14178
|
|
|
@@ -13773,7 +14189,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13773
14189
|
|
|
13774
14190
|
<div class="doc doc-contents ">
|
|
13775
14191
|
|
|
13776
|
-
|
|
14192
|
+
<p>Attach a field to an existing filter form class.</p>
|
|
13777
14193
|
|
|
13778
14194
|
</div>
|
|
13779
14195
|
|
|
@@ -13790,7 +14206,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13790
14206
|
|
|
13791
14207
|
<div class="doc doc-contents ">
|
|
13792
14208
|
|
|
13793
|
-
|
|
14209
|
+
<p>Expand an alphabetic pattern into a list of strings.</p>
|
|
13794
14210
|
|
|
13795
14211
|
</div>
|
|
13796
14212
|
|
|
@@ -13807,7 +14223,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13807
14223
|
|
|
13808
14224
|
<div class="doc doc-contents ">
|
|
13809
14225
|
|
|
13810
|
-
|
|
14226
|
+
<p>Expand an IP address pattern into a list of strings. Examples:
|
|
13811
14227
|
'192.0.2.[1,2,100-250]/24' => ['192.0.2.1/24', '192.0.2.2/24', '192.0.2.100/24' ... '192.0.2.250/24']
|
|
13812
14228
|
'2001:db8:0:[0,fd-ff]::/64' => ['2001:db8:0:0::/64', '2001:db8:0:fd::/64', ... '2001:db8:0:ff::/64']</p>
|
|
13813
14229
|
|
|
@@ -13826,7 +14242,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13826
14242
|
|
|
13827
14243
|
<div class="doc doc-contents ">
|
|
13828
14244
|
|
|
13829
|
-
|
|
14245
|
+
<p>Return a Form class with the specified fields derived from a model. This is useful when we need a form to be used
|
|
13830
14246
|
for creating objects, but want to avoid the model's validation (e.g. for bulk create/edit functions). All fields
|
|
13831
14247
|
are marked as not required.</p>
|
|
13832
14248
|
|
|
@@ -13845,7 +14261,7 @@ are marked as not required.</p>
|
|
|
13845
14261
|
|
|
13846
14262
|
<div class="doc doc-contents ">
|
|
13847
14263
|
|
|
13848
|
-
|
|
14264
|
+
<p>Expand an alphanumeric range (continuous or not) into a list.
|
|
13849
14265
|
'a-d,f' => [a, b, c, d, f]
|
|
13850
14266
|
'0-3,a-d' => [0, 1, 2, 3, a, b, c, d]</p>
|
|
13851
14267
|
|
|
@@ -13864,7 +14280,7 @@ are marked as not required.</p>
|
|
|
13864
14280
|
|
|
13865
14281
|
<div class="doc doc-contents ">
|
|
13866
14282
|
|
|
13867
|
-
|
|
14283
|
+
<p>Expand a numeric range (continuous or not) into a sorted decimal or
|
|
13868
14284
|
hexadecimal list, as specified by the base parameter
|
|
13869
14285
|
'0-3,5' => [0, 1, 2, 3, 5]
|
|
13870
14286
|
'2,8-b,d,f' => [2, 8, 9, a, b, d, f]</p>
|
|
@@ -13884,7 +14300,7 @@ hexadecimal list, as specified by the base parameter
|
|
|
13884
14300
|
|
|
13885
14301
|
<div class="doc doc-contents ">
|
|
13886
14302
|
|
|
13887
|
-
|
|
14303
|
+
<p>Restrict all form fields which reference a RestrictedQuerySet. This ensures that users see only permitted objects
|
|
13888
14304
|
as available choices.</p>
|
|
13889
14305
|
|
|
13890
14306
|
</div>
|
|
@@ -14044,7 +14460,7 @@ as available choices.</p>
|
|
|
14044
14460
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
14045
14461
|
|
|
14046
14462
|
|
|
14047
|
-
<script src="../../../assets/javascripts/bundle.
|
|
14463
|
+
<script src="../../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
|
|
14048
14464
|
|
|
14049
14465
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
14050
14466
|
|