nautobot 2.4.0b1__py3-none-any.whl → 2.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/tests/integration/test_circuits_bulk_operations.py +43 -0
- nautobot/circuits/tests/integration/test_relationships.py +1 -1
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/apps/__init__.py +0 -5
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/generic/object_bulk_destroy.html +1 -1
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +514 -5
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +492 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/git.py +7 -2
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +136 -41
- nautobot/core/views/renderers.py +6 -6
- nautobot/core/views/utils.py +2 -2
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +48 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +9 -6
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/cable.html +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device/base.html +1 -1
- nautobot/dcim/templates/dcim/device.html +3 -11
- nautobot/dcim/templates/dcim/device_component.html +1 -1
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/devicetype.html +1 -1
- nautobot/dcim/templates/dcim/location.html +2 -10
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/locationtype.html +1 -1
- nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -1
- nautobot/dcim/templates/dcim/manufacturer.html +1 -1
- nautobot/dcim/templates/dcim/platform.html +1 -1
- nautobot/dcim/templates/dcim/powerfeed.html +1 -1
- nautobot/dcim/templates/dcim/powerpanel.html +1 -1
- nautobot/dcim/templates/dcim/rack.html +2 -10
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackgroup.html +1 -1
- nautobot/dcim/templates/dcim/rackreservation.html +3 -11
- nautobot/dcim/templates/dcim/virtualchassis.html +1 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_operations.py +30 -0
- nautobot/dcim/tests/integration/test_location_bulk_operations.py +43 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +30 -84
- nautobot/dcim/views.py +13 -28
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +123 -85
- nautobot/extras/api/views.py +33 -30
- nautobot/extras/constants.py +3 -0
- nautobot/extras/datasources/git.py +125 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/migrations/0122_add_graphqlquery_owner_content_type.py +34 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +41 -23
- nautobot/extras/models/datasources.py +85 -0
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +17 -2
- nautobot/extras/models/relationships.py +17 -5
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +15 -1
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/computedfield.html +1 -1
- nautobot/extras/templates/extras/configcontext.html +1 -1
- nautobot/extras/templates/extras/configcontextschema.html +1 -1
- nautobot/extras/templates/extras/customfield.html +1 -1
- nautobot/extras/templates/extras/customlink.html +1 -1
- nautobot/extras/templates/extras/dynamicgroup.html +2 -10
- nautobot/extras/templates/extras/exporttemplate.html +1 -1
- nautobot/extras/templates/extras/gitrepository.html +1 -1
- nautobot/extras/templates/extras/graphqlquery.html +1 -1
- nautobot/extras/templates/extras/job_detail.html +17 -1
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobbutton_retrieve.html +1 -1
- nautobot/extras/templates/extras/jobhook.html +1 -1
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/jobresult.html +1 -1
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/objectchange.html +1 -1
- nautobot/extras/templates/extras/plugin_detail.html +33 -16
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templates/extras/relationship.html +1 -63
- nautobot/extras/templates/extras/role_retrieve.html +1 -1
- nautobot/extras/templates/extras/scheduledjob.html +1 -1
- nautobot/extras/templates/extras/secret.html +1 -1
- nautobot/extras/templates/extras/secretsgroup.html +1 -1
- nautobot/extras/templates/extras/status.html +1 -1
- nautobot/extras/templates/extras/tag.html +1 -1
- nautobot/extras/templates/extras/webhook.html +1 -1
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_interfaces.gql +8 -0
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_names.gql +5 -0
- nautobot/extras/tests/git_data/02-invalid-files/graphql_queries/bad_device_names.gql +5 -0
- nautobot/extras/tests/git_helper.py +9 -1
- nautobot/extras/tests/integration/__init__.py +29 -16
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +19 -13
- nautobot/extras/tests/test_customfields.py +50 -52
- nautobot/extras/tests/test_datasources.py +29 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +299 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_utils.py +22 -1
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +20 -10
- nautobot/extras/views.py +85 -110
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +74 -18
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +25 -9
- nautobot/ipam/templates/ipam/ipaddress.html +2 -10
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +2 -10
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/rir.html +1 -1
- nautobot/ipam/templates/ipam/routetarget.html +1 -1
- nautobot/ipam/templates/ipam/service.html +1 -1
- nautobot/ipam/templates/ipam/vlan.html +2 -10
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlangroup.html +1 -1
- nautobot/ipam/templates/ipam/vrf.html +1 -1
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +119 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_utils.py +41 -2
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +54 -17
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +131 -14
- nautobot/project-static/docs/apps/index.html +131 -14
- nautobot/project-static/docs/apps/nautobot-apps.html +132 -16
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.60a45f97.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.60a45f97.min.js.map} +2 -2
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js → search.f8cc74c7.min.js} +1 -1
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js.map → search.f8cc74c7.min.js.map} +1 -1
- nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css → main.a40c8224.min.css} +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +147 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +459 -132
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +175 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +180 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +138 -16
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +137 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +164 -27
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +187 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +193 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +216 -48
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +324 -75
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +666 -175
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +194 -46
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +538 -177
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +578 -221
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +145 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +156 -25
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +492 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +705 -215
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +943 -422
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +619 -200
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +474 -159
- nautobot/project-static/docs/development/apps/api/configuration-view.html +131 -14
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/global-search.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/graphql.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +153 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +131 -14
- nautobot/project-static/docs/development/apps/api/prometheus.html +131 -14
- nautobot/project-static/docs/development/apps/api/setup.html +131 -14
- nautobot/project-static/docs/development/apps/api/testing.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/base-template.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/notes.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +137 -16
- nautobot/project-static/docs/development/apps/api/views/urls.html +131 -14
- nautobot/project-static/docs/development/apps/index.html +131 -14
- nautobot/project-static/docs/development/apps/migration/code-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/from-v1.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +135 -18
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +297 -25
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +131 -14
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +131 -14
- nautobot/project-static/docs/development/core/application-registry.html +131 -14
- nautobot/project-static/docs/development/core/best-practices.html +131 -14
- nautobot/project-static/docs/development/core/bootstrap-ui.html +131 -14
- nautobot/project-static/docs/development/core/caching.html +131 -14
- nautobot/project-static/docs/development/core/controllers.html +131 -14
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +158 -84
- nautobot/project-static/docs/development/core/generic-views.html +131 -14
- nautobot/project-static/docs/development/core/getting-started.html +334 -234
- nautobot/project-static/docs/development/core/homepage.html +134 -17
- nautobot/project-static/docs/development/core/index.html +131 -14
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9829 -0
- nautobot/project-static/docs/development/core/model-checklist.html +141 -22
- nautobot/project-static/docs/development/core/model-features.html +131 -14
- nautobot/project-static/docs/development/core/natural-keys.html +131 -14
- nautobot/project-static/docs/development/core/navigation-menu.html +131 -14
- nautobot/project-static/docs/development/core/release-checklist.html +134 -17
- nautobot/project-static/docs/development/core/role-internals.html +131 -14
- nautobot/project-static/docs/development/core/settings.html +131 -14
- nautobot/project-static/docs/development/core/style-guide.html +134 -17
- nautobot/project-static/docs/development/core/templates.html +132 -15
- nautobot/project-static/docs/development/core/testing.html +131 -14
- nautobot/project-static/docs/development/core/ui-component-framework.html +454 -283
- nautobot/project-static/docs/development/core/user-preferences.html +131 -14
- nautobot/project-static/docs/development/index.html +131 -14
- nautobot/project-static/docs/development/jobs/index.html +301 -132
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +131 -14
- nautobot/project-static/docs/index.html +139 -33
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +132 -17
- nautobot/project-static/docs/overview/design_philosophy.html +131 -14
- nautobot/project-static/docs/release-notes/index.html +137 -22
- nautobot/project-static/docs/release-notes/version-1.0.html +319 -203
- nautobot/project-static/docs/release-notes/version-1.1.html +316 -200
- nautobot/project-static/docs/release-notes/version-1.2.html +391 -275
- nautobot/project-static/docs/release-notes/version-1.3.html +417 -301
- nautobot/project-static/docs/release-notes/version-1.4.html +502 -387
- nautobot/project-static/docs/release-notes/version-1.5.html +690 -576
- nautobot/project-static/docs/release-notes/version-1.6.html +989 -457
- nautobot/project-static/docs/release-notes/version-2.0.html +613 -499
- nautobot/project-static/docs/release-notes/version-2.1.html +448 -334
- nautobot/project-static/docs/release-notes/version-2.2.html +441 -327
- nautobot/project-static/docs/release-notes/version-2.3.html +1171 -451
- nautobot/project-static/docs/release-notes/version-2.4.html +800 -111
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +303 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +133 -16
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +195 -18
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +134 -17
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +133 -16
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +151 -18
- nautobot/project-static/docs/user-guide/administration/installation/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +132 -15
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/services.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +131 -14
- nautobot/project-static/docs/user-guide/administration/security/index.html +9420 -0
- nautobot/project-static/docs/user-guide/administration/security/notices.html +9843 -0
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +131 -14
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +134 -18
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +135 -22
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +134 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +134 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +236 -34
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +134 -17
- nautobot/project-static/docs/{development/core/local-k8s.html → user-guide/feature-guides/wireless-networks-and-controllers.html} +632 -566
- nautobot/project-static/docs/user-guide/index.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +135 -18
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +451 -16
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +135 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +134 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9797 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +132 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +179 -35
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +159 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +131 -14
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/templates/tenancy/tenant.html +1 -2
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster.html +1 -1
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/clustergroup.html +1 -1
- nautobot/virtualization/templates/virtualization/clustertype.html +1 -1
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -10
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/templates/virtualization/vminterface.html +1 -1
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/METADATA +9 -9
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/RECORD +667 -610
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- /nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css.map → main.a40c8224.min.css.map} +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.50">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.a40c8224.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
41
|
+
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1"/></svg>');}</style>
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
218
218
|
<div class="md-source__icon md-icon">
|
|
219
219
|
|
|
220
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
220
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
221
221
|
</div>
|
|
222
222
|
<div class="md-source__repository">
|
|
223
223
|
GitHub
|
|
@@ -377,7 +377,7 @@
|
|
|
377
377
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
378
378
|
<div class="md-source__icon md-icon">
|
|
379
379
|
|
|
380
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
380
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
381
381
|
</div>
|
|
382
382
|
<div class="md-source__repository">
|
|
383
383
|
GitHub
|
|
@@ -1697,6 +1697,81 @@
|
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
|
|
1721
|
+
<div class="md-nav__link md-nav__container">
|
|
1722
|
+
<a href="../../../user-guide/administration/security/index.html" class="md-nav__link ">
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
<span class="md-ellipsis">
|
|
1726
|
+
Security
|
|
1727
|
+
</span>
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
</a>
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
<label class="md-nav__link " for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
|
|
1734
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1735
|
+
</label>
|
|
1736
|
+
|
|
1737
|
+
</div>
|
|
1738
|
+
|
|
1739
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
|
|
1740
|
+
<label class="md-nav__title" for="__nav_2_1_7">
|
|
1741
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1742
|
+
Security
|
|
1743
|
+
</label>
|
|
1744
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
<li class="md-nav__item">
|
|
1753
|
+
<a href="../../../user-guide/administration/security/notices.html" class="md-nav__link">
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
<span class="md-ellipsis">
|
|
1757
|
+
Notices
|
|
1758
|
+
</span>
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
</a>
|
|
1762
|
+
</li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
</ul>
|
|
1768
|
+
</nav>
|
|
1769
|
+
|
|
1770
|
+
</li>
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1700
1775
|
</ul>
|
|
1701
1776
|
</nav>
|
|
1702
1777
|
|
|
@@ -2112,6 +2187,27 @@
|
|
|
2112
2187
|
|
|
2113
2188
|
|
|
2114
2189
|
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
<li class="md-nav__item">
|
|
2197
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
<span class="md-ellipsis">
|
|
2201
|
+
Wireless Networks and Controllers
|
|
2202
|
+
</span>
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</a>
|
|
2206
|
+
</li>
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
|
|
2115
2211
|
</ul>
|
|
2116
2212
|
</nav>
|
|
2117
2213
|
|
|
@@ -5131,6 +5227,27 @@
|
|
|
5131
5227
|
|
|
5132
5228
|
|
|
5133
5229
|
|
|
5230
|
+
<li class="md-nav__item">
|
|
5231
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5232
|
+
|
|
5233
|
+
|
|
5234
|
+
<span class="md-ellipsis">
|
|
5235
|
+
Kubernetes Job Support
|
|
5236
|
+
</span>
|
|
5237
|
+
|
|
5238
|
+
|
|
5239
|
+
</a>
|
|
5240
|
+
</li>
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
|
|
5244
|
+
|
|
5245
|
+
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
|
|
5250
|
+
|
|
5134
5251
|
<li class="md-nav__item">
|
|
5135
5252
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5253
|
|
|
@@ -7211,6 +7328,21 @@
|
|
|
7211
7328
|
</span>
|
|
7212
7329
|
</a>
|
|
7213
7330
|
|
|
7331
|
+
<nav class="md-nav" aria-label="BulkEditForm">
|
|
7332
|
+
<ul class="md-nav__list">
|
|
7333
|
+
|
|
7334
|
+
<li class="md-nav__item">
|
|
7335
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="md-nav__link">
|
|
7336
|
+
<span class="md-ellipsis">
|
|
7337
|
+
post_save
|
|
7338
|
+
</span>
|
|
7339
|
+
</a>
|
|
7340
|
+
|
|
7341
|
+
</li>
|
|
7342
|
+
|
|
7343
|
+
</ul>
|
|
7344
|
+
</nav>
|
|
7345
|
+
|
|
7214
7346
|
</li>
|
|
7215
7347
|
|
|
7216
7348
|
<li class="md-nav__item">
|
|
@@ -8977,11 +9109,11 @@
|
|
|
8977
9109
|
|
|
8978
9110
|
|
|
8979
9111
|
<li class="md-nav__item">
|
|
8980
|
-
<a href="../../../development/core/
|
|
9112
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
8981
9113
|
|
|
8982
9114
|
|
|
8983
9115
|
<span class="md-ellipsis">
|
|
8984
|
-
|
|
9116
|
+
Minikube Dev Environment for K8s Jobs
|
|
8985
9117
|
</span>
|
|
8986
9118
|
|
|
8987
9119
|
|
|
@@ -9946,6 +10078,21 @@
|
|
|
9946
10078
|
</span>
|
|
9947
10079
|
</a>
|
|
9948
10080
|
|
|
10081
|
+
<nav class="md-nav" aria-label="BulkEditForm">
|
|
10082
|
+
<ul class="md-nav__list">
|
|
10083
|
+
|
|
10084
|
+
<li class="md-nav__item">
|
|
10085
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="md-nav__link">
|
|
10086
|
+
<span class="md-ellipsis">
|
|
10087
|
+
post_save
|
|
10088
|
+
</span>
|
|
10089
|
+
</a>
|
|
10090
|
+
|
|
10091
|
+
</li>
|
|
10092
|
+
|
|
10093
|
+
</ul>
|
|
10094
|
+
</nav>
|
|
10095
|
+
|
|
9949
10096
|
</li>
|
|
9950
10097
|
|
|
9951
10098
|
<li class="md-nav__item">
|
|
@@ -10800,7 +10947,12 @@
|
|
|
10800
10947
|
|
|
10801
10948
|
<div class="doc doc-contents first">
|
|
10802
10949
|
|
|
10803
|
-
|
|
10950
|
+
<p>Forms and fields for apps to use.</p>
|
|
10951
|
+
|
|
10952
|
+
|
|
10953
|
+
|
|
10954
|
+
|
|
10955
|
+
|
|
10804
10956
|
|
|
10805
10957
|
|
|
10806
10958
|
|
|
@@ -10826,10 +10978,10 @@
|
|
|
10826
10978
|
|
|
10827
10979
|
<div class="doc doc-contents ">
|
|
10828
10980
|
<p class="doc doc-class-bases">
|
|
10829
|
-
Bases: <code><
|
|
10981
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.SelectWithDisabled" href="#nautobot.apps.forms.SelectWithDisabled">SelectWithDisabled</a></code></p>
|
|
10830
10982
|
|
|
10831
10983
|
|
|
10832
|
-
|
|
10984
|
+
<p>A select widget populated via an API call</p>
|
|
10833
10985
|
|
|
10834
10986
|
|
|
10835
10987
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -10844,9 +10996,11 @@
|
|
|
10844
10996
|
</thead>
|
|
10845
10997
|
<tbody>
|
|
10846
10998
|
<tr class="doc-section-item">
|
|
10847
|
-
<td><code>api_url</code></td>
|
|
10848
10999
|
<td>
|
|
10849
|
-
|
|
11000
|
+
<code>api_url</code>
|
|
11001
|
+
</td>
|
|
11002
|
+
<td>
|
|
11003
|
+
<code>str</code>
|
|
10850
11004
|
</td>
|
|
10851
11005
|
<td>
|
|
10852
11006
|
<div class="doc-md-description">
|
|
@@ -10858,9 +11012,11 @@
|
|
|
10858
11012
|
</td>
|
|
10859
11013
|
</tr>
|
|
10860
11014
|
<tr class="doc-section-item">
|
|
10861
|
-
<td><code>api_version</code></td>
|
|
10862
11015
|
<td>
|
|
10863
|
-
|
|
11016
|
+
<code>api_version</code>
|
|
11017
|
+
</td>
|
|
11018
|
+
<td>
|
|
11019
|
+
<code>str</code>
|
|
10864
11020
|
</td>
|
|
10865
11021
|
<td>
|
|
10866
11022
|
<div class="doc-md-description">
|
|
@@ -10877,6 +11033,11 @@
|
|
|
10877
11033
|
|
|
10878
11034
|
|
|
10879
11035
|
|
|
11036
|
+
|
|
11037
|
+
|
|
11038
|
+
|
|
11039
|
+
|
|
11040
|
+
|
|
10880
11041
|
<div class="doc doc-children">
|
|
10881
11042
|
|
|
10882
11043
|
|
|
@@ -10898,7 +11059,7 @@
|
|
|
10898
11059
|
|
|
10899
11060
|
<div class="doc doc-contents ">
|
|
10900
11061
|
|
|
10901
|
-
|
|
11062
|
+
<p>Add details for an additional query param in the form of a data-* JSON-encoded list attribute.</p>
|
|
10902
11063
|
<p>:param name: The name of the query param
|
|
10903
11064
|
:param value: The value of the query param</p>
|
|
10904
11065
|
|
|
@@ -10927,10 +11088,15 @@
|
|
|
10927
11088
|
|
|
10928
11089
|
<div class="doc doc-contents ">
|
|
10929
11090
|
<p class="doc doc-class-bases">
|
|
10930
|
-
Bases: <code><
|
|
11091
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
11092
|
+
|
|
11093
|
+
|
|
11094
|
+
<p>ModelForm mixin for IPAddress based models.</p>
|
|
11095
|
+
|
|
11096
|
+
|
|
11097
|
+
|
|
10931
11098
|
|
|
10932
11099
|
|
|
10933
|
-
<p>ModelForm mixin for IPAddress based models.</p>
|
|
10934
11100
|
|
|
10935
11101
|
|
|
10936
11102
|
|
|
@@ -10966,10 +11132,10 @@
|
|
|
10966
11132
|
|
|
10967
11133
|
<div class="doc doc-contents ">
|
|
10968
11134
|
<p class="doc doc-class-bases">
|
|
10969
|
-
Bases: <code><
|
|
11135
|
+
Bases: <code><span title="django.forms.BaseForm">BaseForm</span></code></p>
|
|
10970
11136
|
|
|
10971
11137
|
|
|
10972
|
-
|
|
11138
|
+
<p>Add the base Bootstrap CSS classes to form elements.</p>
|
|
10973
11139
|
<p>Note that this only applies to form fields that are:</p>
|
|
10974
11140
|
<ol>
|
|
10975
11141
|
<li>statically defined on the form class at declaration time, or</li>
|
|
@@ -10980,6 +11146,11 @@
|
|
|
10980
11146
|
|
|
10981
11147
|
|
|
10982
11148
|
|
|
11149
|
+
|
|
11150
|
+
|
|
11151
|
+
|
|
11152
|
+
|
|
11153
|
+
|
|
10983
11154
|
<div class="doc doc-children">
|
|
10984
11155
|
|
|
10985
11156
|
|
|
@@ -11011,16 +11182,21 @@
|
|
|
11011
11182
|
|
|
11012
11183
|
<div class="doc doc-contents ">
|
|
11013
11184
|
<p class="doc doc-class-bases">
|
|
11014
|
-
Bases: <code><
|
|
11185
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11015
11186
|
|
|
11016
11187
|
|
|
11017
|
-
|
|
11188
|
+
<p>Base form for editing multiple objects in bulk.</p>
|
|
11018
11189
|
<p>Note that for models supporting custom fields and relationships, nautobot.extras.forms.NautobotBulkEditForm is
|
|
11019
11190
|
a more powerful subclass and should be used instead of directly inheriting from this class.</p>
|
|
11020
11191
|
|
|
11021
11192
|
|
|
11022
11193
|
|
|
11023
11194
|
|
|
11195
|
+
|
|
11196
|
+
|
|
11197
|
+
|
|
11198
|
+
|
|
11199
|
+
|
|
11024
11200
|
<div class="doc doc-children">
|
|
11025
11201
|
|
|
11026
11202
|
|
|
@@ -11031,6 +11207,23 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11031
11207
|
|
|
11032
11208
|
|
|
11033
11209
|
|
|
11210
|
+
<div class="doc doc-object doc-function">
|
|
11211
|
+
|
|
11212
|
+
|
|
11213
|
+
<h3 id="nautobot.apps.forms.BulkEditForm.post_save" class="doc doc-heading">
|
|
11214
|
+
<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>
|
|
11215
|
+
|
|
11216
|
+
<a href="#nautobot.apps.forms.BulkEditForm.post_save" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11217
|
+
|
|
11218
|
+
|
|
11219
|
+
<div class="doc doc-contents ">
|
|
11220
|
+
|
|
11221
|
+
<p>Post save action</p>
|
|
11222
|
+
|
|
11223
|
+
</div>
|
|
11224
|
+
|
|
11225
|
+
</div>
|
|
11226
|
+
|
|
11034
11227
|
|
|
11035
11228
|
|
|
11036
11229
|
</div>
|
|
@@ -11052,10 +11245,15 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11052
11245
|
|
|
11053
11246
|
<div class="doc doc-contents ">
|
|
11054
11247
|
<p class="doc doc-class-bases">
|
|
11055
|
-
Bases: <code><
|
|
11248
|
+
Bases: <code><span title="django.forms.NullBooleanSelect">NullBooleanSelect</span></code></p>
|
|
11249
|
+
|
|
11250
|
+
|
|
11251
|
+
<p>A Select widget for NullBooleanFields</p>
|
|
11252
|
+
|
|
11253
|
+
|
|
11254
|
+
|
|
11056
11255
|
|
|
11057
11256
|
|
|
11058
|
-
<p>A Select widget for NullBooleanFields</p>
|
|
11059
11257
|
|
|
11060
11258
|
|
|
11061
11259
|
|
|
@@ -11091,10 +11289,15 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11091
11289
|
|
|
11092
11290
|
<div class="doc doc-contents ">
|
|
11093
11291
|
<p class="doc doc-class-bases">
|
|
11094
|
-
Bases: <code><
|
|
11292
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11293
|
+
|
|
11294
|
+
|
|
11295
|
+
<p>An extendable form to be used for renaming objects in bulk.</p>
|
|
11296
|
+
|
|
11297
|
+
|
|
11298
|
+
|
|
11095
11299
|
|
|
11096
11300
|
|
|
11097
|
-
<p>An extendable form to be used for renaming objects in bulk.</p>
|
|
11098
11301
|
|
|
11099
11302
|
|
|
11100
11303
|
|
|
@@ -11130,15 +11333,20 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11130
11333
|
|
|
11131
11334
|
<div class="doc doc-contents ">
|
|
11132
11335
|
<p class="doc doc-class-bases">
|
|
11133
|
-
Bases: <code><
|
|
11336
|
+
Bases: <code><span title="django.forms.ChoiceField">ChoiceField</span></code></p>
|
|
11134
11337
|
|
|
11135
11338
|
|
|
11136
|
-
|
|
11339
|
+
<p>Invert the provided set of choices to take the human-friendly label as input, and return the database value.</p>
|
|
11137
11340
|
<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
11341
|
|
|
11139
11342
|
|
|
11140
11343
|
|
|
11141
11344
|
|
|
11345
|
+
|
|
11346
|
+
|
|
11347
|
+
|
|
11348
|
+
|
|
11349
|
+
|
|
11142
11350
|
<div class="doc doc-children">
|
|
11143
11351
|
|
|
11144
11352
|
|
|
@@ -11170,15 +11378,20 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11170
11378
|
|
|
11171
11379
|
<div class="doc doc-contents ">
|
|
11172
11380
|
<p class="doc doc-class-bases">
|
|
11173
|
-
Bases: <code><
|
|
11381
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.CSVModelChoiceField" href="#nautobot.apps.forms.CSVModelChoiceField">CSVModelChoiceField</a></code></p>
|
|
11174
11382
|
|
|
11175
11383
|
|
|
11176
|
-
|
|
11384
|
+
<p>Reference a ContentType in the form <code>{app_label}.{model}</code>.</p>
|
|
11177
11385
|
<p>Note: class name is misleading; this field is also used in numerous FilterSets where it has nothing to do with CSV.</p>
|
|
11178
11386
|
|
|
11179
11387
|
|
|
11180
11388
|
|
|
11181
11389
|
|
|
11390
|
+
|
|
11391
|
+
|
|
11392
|
+
|
|
11393
|
+
|
|
11394
|
+
|
|
11182
11395
|
<div class="doc doc-children">
|
|
11183
11396
|
|
|
11184
11397
|
|
|
@@ -11200,7 +11413,7 @@ a more powerful subclass and should be used instead of directly inheriting from
|
|
|
11200
11413
|
|
|
11201
11414
|
<div class="doc doc-contents ">
|
|
11202
11415
|
|
|
11203
|
-
|
|
11416
|
+
<p>Allow this field to support <code>{app_label}.{model}</code> style, null values, or PK-based lookups
|
|
11204
11417
|
depending on how the field is used.</p>
|
|
11205
11418
|
|
|
11206
11419
|
</div>
|
|
@@ -11228,10 +11441,10 @@ depending on how the field is used.</p>
|
|
|
11228
11441
|
|
|
11229
11442
|
<div class="doc doc-contents ">
|
|
11230
11443
|
<p class="doc doc-class-bases">
|
|
11231
|
-
Bases: <code><
|
|
11444
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
11232
11445
|
|
|
11233
11446
|
|
|
11234
|
-
|
|
11447
|
+
<p>A CharField (rendered as a Textarea) which expects CSV-formatted data.</p>
|
|
11235
11448
|
<p>Initial value is a list of headers corresponding to the required fields for the given serializer class.</p>
|
|
11236
11449
|
<p>This no longer actually does any CSV parsing or validation on its own,
|
|
11237
11450
|
as that is now handled by the NautobotCSVParser class and the REST API serializers.</p>
|
|
@@ -11249,9 +11462,11 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11249
11462
|
</thead>
|
|
11250
11463
|
<tbody>
|
|
11251
11464
|
<tr class="doc-section-item">
|
|
11252
|
-
<td><code>required_field_names</code></td>
|
|
11253
11465
|
<td>
|
|
11254
|
-
|
|
11466
|
+
<code>required_field_names</code>
|
|
11467
|
+
</td>
|
|
11468
|
+
<td>
|
|
11469
|
+
<code>list[str]</code>
|
|
11255
11470
|
</td>
|
|
11256
11471
|
<td>
|
|
11257
11472
|
<div class="doc-md-description">
|
|
@@ -11268,6 +11483,11 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11268
11483
|
|
|
11269
11484
|
|
|
11270
11485
|
|
|
11486
|
+
|
|
11487
|
+
|
|
11488
|
+
|
|
11489
|
+
|
|
11490
|
+
|
|
11271
11491
|
<div class="doc doc-children">
|
|
11272
11492
|
|
|
11273
11493
|
|
|
@@ -11299,16 +11519,21 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11299
11519
|
|
|
11300
11520
|
<div class="doc doc-contents ">
|
|
11301
11521
|
<p class="doc doc-class-bases">
|
|
11302
|
-
Bases: <code><
|
|
11522
|
+
Bases: <code><span title="django.forms.FileField">FileField</span></code></p>
|
|
11303
11523
|
|
|
11304
11524
|
|
|
11305
|
-
|
|
11525
|
+
<p>A FileField (rendered as a ClearableFileInput) which expects a file containing CSV-formatted data.</p>
|
|
11306
11526
|
<p>This no longer actually does any CSV parsing or validation on its own,
|
|
11307
11527
|
as that is now handled by the NautobotCSVParser class and the REST API serializers.</p>
|
|
11308
11528
|
|
|
11309
11529
|
|
|
11310
11530
|
|
|
11311
11531
|
|
|
11532
|
+
|
|
11533
|
+
|
|
11534
|
+
|
|
11535
|
+
|
|
11536
|
+
|
|
11312
11537
|
<div class="doc doc-children">
|
|
11313
11538
|
|
|
11314
11539
|
|
|
@@ -11323,14 +11548,14 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11323
11548
|
|
|
11324
11549
|
|
|
11325
11550
|
<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">
|
|
11551
|
+
<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
11552
|
|
|
11328
11553
|
<a href="#nautobot.apps.forms.CSVFileField.to_python" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11329
11554
|
|
|
11330
11555
|
|
|
11331
11556
|
<div class="doc doc-contents ">
|
|
11332
11557
|
|
|
11333
|
-
|
|
11558
|
+
<p>For parity with CSVDataField, this returns the CSV text rather than an UploadedFile object.</p>
|
|
11334
11559
|
|
|
11335
11560
|
</div>
|
|
11336
11561
|
|
|
@@ -11357,16 +11582,21 @@ as that is now handled by the NautobotCSVParser class and the REST API serialize
|
|
|
11357
11582
|
|
|
11358
11583
|
<div class="doc doc-contents ">
|
|
11359
11584
|
<p class="doc doc-class-bases">
|
|
11360
|
-
Bases: <code><
|
|
11585
|
+
Bases: <code><span title="django.forms.ModelChoiceField">ModelChoiceField</span></code></p>
|
|
11361
11586
|
|
|
11362
11587
|
|
|
11363
|
-
|
|
11588
|
+
<p>Provides additional validation for model choices entered as CSV data.</p>
|
|
11364
11589
|
<p>Note: class name is misleading; the subclass CSVContentTypeField (below) is also used in FilterSets, where it has
|
|
11365
11590
|
nothing to do with CSV data.</p>
|
|
11366
11591
|
|
|
11367
11592
|
|
|
11368
11593
|
|
|
11369
11594
|
|
|
11595
|
+
|
|
11596
|
+
|
|
11597
|
+
|
|
11598
|
+
|
|
11599
|
+
|
|
11370
11600
|
<div class="doc doc-children">
|
|
11371
11601
|
|
|
11372
11602
|
|
|
@@ -11398,16 +11628,21 @@ nothing to do with CSV data.</p>
|
|
|
11398
11628
|
|
|
11399
11629
|
<div class="doc doc-contents ">
|
|
11400
11630
|
<p class="doc doc-class-bases">
|
|
11401
|
-
Bases: <code><
|
|
11631
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
11402
11632
|
|
|
11403
11633
|
|
|
11404
|
-
|
|
11634
|
+
<p>ModelForm used for the import of objects.</p>
|
|
11405
11635
|
<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
11636
|
JSON/YAML imports of DeviceTypes and their component templates.</p>
|
|
11407
11637
|
|
|
11408
11638
|
|
|
11409
11639
|
|
|
11410
11640
|
|
|
11641
|
+
|
|
11642
|
+
|
|
11643
|
+
|
|
11644
|
+
|
|
11645
|
+
|
|
11411
11646
|
<div class="doc doc-children">
|
|
11412
11647
|
|
|
11413
11648
|
|
|
@@ -11439,16 +11674,21 @@ JSON/YAML imports of DeviceTypes and their component templates.</p>
|
|
|
11439
11674
|
|
|
11440
11675
|
<div class="doc doc-contents ">
|
|
11441
11676
|
<p class="doc doc-class-bases">
|
|
11442
|
-
Bases: <code><
|
|
11677
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.CSVChoiceField" href="#nautobot.apps.forms.CSVChoiceField">CSVChoiceField</a></code></p>
|
|
11443
11678
|
|
|
11444
11679
|
|
|
11445
|
-
|
|
11680
|
+
<p>A version of CSVChoiceField that supports and emits a list of choice values.</p>
|
|
11446
11681
|
<p>As with CSVChoiceField, the name is misleading, as this is no longer used for CSV imports, but is used for
|
|
11447
11682
|
JSON/YAML import of DeviceTypes still.</p>
|
|
11448
11683
|
|
|
11449
11684
|
|
|
11450
11685
|
|
|
11451
11686
|
|
|
11687
|
+
|
|
11688
|
+
|
|
11689
|
+
|
|
11690
|
+
|
|
11691
|
+
|
|
11452
11692
|
<div class="doc doc-children">
|
|
11453
11693
|
|
|
11454
11694
|
|
|
@@ -11470,7 +11710,7 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11470
11710
|
|
|
11471
11711
|
<div class="doc doc-contents ">
|
|
11472
11712
|
|
|
11473
|
-
|
|
11713
|
+
<p>Return a list of strings.</p>
|
|
11474
11714
|
|
|
11475
11715
|
</div>
|
|
11476
11716
|
|
|
@@ -11487,7 +11727,7 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11487
11727
|
|
|
11488
11728
|
<div class="doc doc-contents ">
|
|
11489
11729
|
|
|
11490
|
-
|
|
11730
|
+
<p>Validate that each of the input values is in self.choices.</p>
|
|
11491
11731
|
|
|
11492
11732
|
</div>
|
|
11493
11733
|
|
|
@@ -11514,16 +11754,21 @@ JSON/YAML import of DeviceTypes still.</p>
|
|
|
11514
11754
|
|
|
11515
11755
|
<div class="doc doc-contents ">
|
|
11516
11756
|
<p class="doc doc-class-bases">
|
|
11517
|
-
Bases: <code><
|
|
11757
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.MultipleContentTypeField" href="#nautobot.apps.forms.MultipleContentTypeField">MultipleContentTypeField</a></code></p>
|
|
11518
11758
|
|
|
11519
11759
|
|
|
11520
|
-
|
|
11760
|
+
<p>Reference a list of <code>ContentType</code> objects in the form `{app_label}.{model}'.</p>
|
|
11521
11761
|
<p>Note: This is unused in Nautobot core at this time, but some apps (data-validation-engine) use this for non-CSV
|
|
11522
11762
|
purposes, similar to CSVContentTypeField above.</p>
|
|
11523
11763
|
|
|
11524
11764
|
|
|
11525
11765
|
|
|
11526
11766
|
|
|
11767
|
+
|
|
11768
|
+
|
|
11769
|
+
|
|
11770
|
+
|
|
11771
|
+
|
|
11527
11772
|
<div class="doc doc-children">
|
|
11528
11773
|
|
|
11529
11774
|
|
|
@@ -11545,7 +11790,7 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11545
11790
|
|
|
11546
11791
|
<div class="doc doc-contents ">
|
|
11547
11792
|
|
|
11548
|
-
|
|
11793
|
+
<p>Parse a comma-separated string of model names into a list of PKs.</p>
|
|
11549
11794
|
|
|
11550
11795
|
</div>
|
|
11551
11796
|
|
|
@@ -11572,10 +11817,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11572
11817
|
|
|
11573
11818
|
<div class="doc doc-contents ">
|
|
11574
11819
|
<p class="doc doc-class-bases">
|
|
11575
|
-
Bases: <code><
|
|
11820
|
+
Bases: <code><span title="django.forms.Select">Select</span></code></p>
|
|
11821
|
+
|
|
11822
|
+
|
|
11823
|
+
<p>Extends the built-in Select widget to colorize each <option>.</p>
|
|
11824
|
+
|
|
11825
|
+
|
|
11826
|
+
|
|
11576
11827
|
|
|
11577
11828
|
|
|
11578
|
-
<p>Extends the built-in Select widget to colorize each <option>.</p>
|
|
11579
11829
|
|
|
11580
11830
|
|
|
11581
11831
|
|
|
@@ -11611,10 +11861,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11611
11861
|
|
|
11612
11862
|
<div class="doc doc-contents ">
|
|
11613
11863
|
<p class="doc doc-class-bases">
|
|
11614
|
-
Bases: <code><
|
|
11864
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
11865
|
+
|
|
11866
|
+
|
|
11867
|
+
<p>A textarea with support for Markdown rendering. Exists mostly just to add a standard help_text.</p>
|
|
11868
|
+
|
|
11869
|
+
|
|
11870
|
+
|
|
11615
11871
|
|
|
11616
11872
|
|
|
11617
|
-
<p>A textarea with support for Markdown rendering. Exists mostly just to add a standard help_text.</p>
|
|
11618
11873
|
|
|
11619
11874
|
|
|
11620
11875
|
|
|
@@ -11650,10 +11905,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11650
11905
|
|
|
11651
11906
|
<div class="doc doc-contents ">
|
|
11652
11907
|
<p class="doc doc-class-bases">
|
|
11653
|
-
Bases: <code><
|
|
11908
|
+
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>
|
|
11909
|
+
|
|
11910
|
+
|
|
11911
|
+
<p>A generic confirmation form. The form is not valid unless the confirm field is checked.</p>
|
|
11912
|
+
|
|
11913
|
+
|
|
11914
|
+
|
|
11654
11915
|
|
|
11655
11916
|
|
|
11656
|
-
<p>A generic confirmation form. The form is not valid unless the confirm field is checked.</p>
|
|
11657
11917
|
|
|
11658
11918
|
|
|
11659
11919
|
|
|
@@ -11689,10 +11949,15 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11689
11949
|
|
|
11690
11950
|
<div class="doc doc-contents ">
|
|
11691
11951
|
<p class="doc doc-class-bases">
|
|
11692
|
-
Bases: <code><
|
|
11952
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
11953
|
+
|
|
11954
|
+
|
|
11955
|
+
<p>Adds the <code>contacts</code> and <code>teams</code> form fields to a filter form.</p>
|
|
11956
|
+
|
|
11957
|
+
|
|
11958
|
+
|
|
11693
11959
|
|
|
11694
11960
|
|
|
11695
|
-
<p>Adds the <code>contacts</code> and <code>teams</code> form fields to a filter form.</p>
|
|
11696
11961
|
|
|
11697
11962
|
|
|
11698
11963
|
|
|
@@ -11728,16 +11993,21 @@ purposes, similar to CSVContentTypeField above.</p>
|
|
|
11728
11993
|
|
|
11729
11994
|
<div class="doc doc-contents ">
|
|
11730
11995
|
<p class="doc doc-class-bases">
|
|
11731
|
-
Bases: <code><
|
|
11996
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.StaticSelect2" href="#nautobot.apps.forms.StaticSelect2">StaticSelect2</a></code></p>
|
|
11732
11997
|
|
|
11733
11998
|
|
|
11734
|
-
|
|
11999
|
+
<p>Appends an <code>api-value</code> attribute equal to the slugified model name for each ContentType. For example:
|
|
11735
12000
|
<option value="37" api-value="console-server-port">console server port</option>
|
|
11736
12001
|
This attribute can be used to reference the relevant API endpoint for a particular ContentType.</p>
|
|
11737
12002
|
|
|
11738
12003
|
|
|
11739
12004
|
|
|
11740
12005
|
|
|
12006
|
+
|
|
12007
|
+
|
|
12008
|
+
|
|
12009
|
+
|
|
12010
|
+
|
|
11741
12011
|
<div class="doc doc-children">
|
|
11742
12012
|
|
|
11743
12013
|
|
|
@@ -11769,10 +12039,10 @@ This attribute can be used to reference the relevant API endpoint for a particul
|
|
|
11769
12039
|
|
|
11770
12040
|
<div class="doc doc-contents ">
|
|
11771
12041
|
<p class="doc doc-class-bases">
|
|
11772
|
-
Bases: <code><
|
|
12042
|
+
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
12043
|
|
|
11774
12044
|
|
|
11775
|
-
|
|
12045
|
+
<p>Base class for CSV/JSON/YAML import of models that support custom fields.</p>
|
|
11776
12046
|
<p>TODO: The class name is a misnomer; as of 2.0 this class is <strong>not</strong> used for any CSV imports,
|
|
11777
12047
|
as that's now handled by the REST API. However it is still used when importing component-templates as
|
|
11778
12048
|
part of a JSON/YAML DeviceType import.</p>
|
|
@@ -11780,6 +12050,11 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11780
12050
|
|
|
11781
12051
|
|
|
11782
12052
|
|
|
12053
|
+
|
|
12054
|
+
|
|
12055
|
+
|
|
12056
|
+
|
|
12057
|
+
|
|
11783
12058
|
<div class="doc doc-children">
|
|
11784
12059
|
|
|
11785
12060
|
|
|
@@ -11811,7 +12086,12 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11811
12086
|
|
|
11812
12087
|
<div class="doc doc-contents ">
|
|
11813
12088
|
<p class="doc doc-class-bases">
|
|
11814
|
-
Bases: <code><
|
|
12089
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
12090
|
+
|
|
12091
|
+
|
|
12092
|
+
|
|
12093
|
+
|
|
12094
|
+
|
|
11815
12095
|
|
|
11816
12096
|
|
|
11817
12097
|
|
|
@@ -11848,10 +12128,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11848
12128
|
|
|
11849
12129
|
<div class="doc doc-contents ">
|
|
11850
12130
|
<p class="doc doc-class-bases">
|
|
11851
|
-
Bases: <code><
|
|
12131
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
12132
|
+
|
|
12133
|
+
|
|
12134
|
+
<p>Date picker using Flatpickr.</p>
|
|
12135
|
+
|
|
12136
|
+
|
|
12137
|
+
|
|
11852
12138
|
|
|
11853
12139
|
|
|
11854
|
-
<p>Date picker using Flatpickr.</p>
|
|
11855
12140
|
|
|
11856
12141
|
|
|
11857
12142
|
|
|
@@ -11887,10 +12172,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11887
12172
|
|
|
11888
12173
|
<div class="doc doc-contents ">
|
|
11889
12174
|
<p class="doc doc-class-bases">
|
|
11890
|
-
Bases: <code><
|
|
12175
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
12176
|
+
|
|
12177
|
+
|
|
12178
|
+
<p>DateTime picker using Flatpickr.</p>
|
|
12179
|
+
|
|
12180
|
+
|
|
12181
|
+
|
|
11891
12182
|
|
|
11892
12183
|
|
|
11893
|
-
<p>DateTime picker using Flatpickr.</p>
|
|
11894
12184
|
|
|
11895
12185
|
|
|
11896
12186
|
|
|
@@ -11926,10 +12216,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11926
12216
|
|
|
11927
12217
|
<div class="doc doc-contents ">
|
|
11928
12218
|
<p class="doc doc-class-bases">
|
|
11929
|
-
Bases: <code><
|
|
12219
|
+
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>
|
|
12220
|
+
|
|
12221
|
+
|
|
12222
|
+
<p>Form for dynamically inputting filter values for an object list.</p>
|
|
12223
|
+
|
|
12224
|
+
|
|
12225
|
+
|
|
11930
12226
|
|
|
11931
12227
|
|
|
11932
|
-
<p>Form for dynamically inputting filter values for an object list.</p>
|
|
11933
12228
|
|
|
11934
12229
|
|
|
11935
12230
|
|
|
@@ -11965,10 +12260,15 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
11965
12260
|
|
|
11966
12261
|
<div class="doc doc-contents ">
|
|
11967
12262
|
<p class="doc doc-class-bases">
|
|
11968
|
-
Bases: <code><
|
|
12263
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
12264
|
+
|
|
12265
|
+
|
|
12266
|
+
<p>Mixin to add <code>dynamic_groups</code> field to model create/edit forms where applicable.</p>
|
|
12267
|
+
|
|
12268
|
+
|
|
12269
|
+
|
|
11969
12270
|
|
|
11970
12271
|
|
|
11971
|
-
<p>Mixin to add <code>dynamic_groups</code> field to model create/edit forms where applicable.</p>
|
|
11972
12272
|
|
|
11973
12273
|
|
|
11974
12274
|
|
|
@@ -12004,15 +12304,20 @@ part of a JSON/YAML DeviceType import.</p>
|
|
|
12004
12304
|
|
|
12005
12305
|
<div class="doc doc-contents ">
|
|
12006
12306
|
<p class="doc doc-class-bases">
|
|
12007
|
-
Bases: <code><
|
|
12307
|
+
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
12308
|
|
|
12009
12309
|
|
|
12010
|
-
|
|
12310
|
+
<p>Override get_bound_field() to avoid pre-populating field choices with a SQL query. The field will be
|
|
12011
12311
|
rendered only with choices set via bound data. Choices are populated on-demand via the APISelect widget.</p>
|
|
12012
12312
|
|
|
12013
12313
|
|
|
12014
12314
|
|
|
12015
12315
|
|
|
12316
|
+
|
|
12317
|
+
|
|
12318
|
+
|
|
12319
|
+
|
|
12320
|
+
|
|
12016
12321
|
<div class="doc doc-children">
|
|
12017
12322
|
|
|
12018
12323
|
|
|
@@ -12034,7 +12339,7 @@ rendered only with choices set via bound data. Choices are populated on-demand v
|
|
|
12034
12339
|
|
|
12035
12340
|
<div class="doc doc-contents ">
|
|
12036
12341
|
|
|
12037
|
-
|
|
12342
|
+
<p>When null option is enabled and "None" is sent as part of a form to be submitted, it is sent as the
|
|
12038
12343
|
string 'null'. This will check for that condition and gracefully handle the conversion to a NoneType.</p>
|
|
12039
12344
|
|
|
12040
12345
|
</div>
|
|
@@ -12063,7 +12368,7 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12063
12368
|
<div class="doc doc-contents ">
|
|
12064
12369
|
|
|
12065
12370
|
|
|
12066
|
-
|
|
12371
|
+
<p>:param display_field: The name of the attribute of an API response object to display in the selection list
|
|
12067
12372
|
:param query_params: A dictionary of additional key/value pairs to attach to the API request
|
|
12068
12373
|
:param initial_params: A dictionary of child field references to use for selecting a parent field's initial value
|
|
12069
12374
|
:param null_option: The string used to represent a null selection (if any)
|
|
@@ -12074,6 +12379,11 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12074
12379
|
|
|
12075
12380
|
|
|
12076
12381
|
|
|
12382
|
+
|
|
12383
|
+
|
|
12384
|
+
|
|
12385
|
+
|
|
12386
|
+
|
|
12077
12387
|
<div class="doc doc-children">
|
|
12078
12388
|
|
|
12079
12389
|
|
|
@@ -12095,7 +12405,7 @@ string 'null'. This will check for that condition and gracefully handle the con
|
|
|
12095
12405
|
|
|
12096
12406
|
<div class="doc doc-contents ">
|
|
12097
12407
|
|
|
12098
|
-
|
|
12408
|
+
<p>Augment the behavior of forms.ModelChoiceField.prepare_value().</p>
|
|
12099
12409
|
<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
12410
|
from the given PK, so that the base class will get the appropriate field value rather than just keeping the PK,
|
|
12101
12411
|
because the rendered form field needs this in order to correctly prepopulate a default selection.</p>
|
|
@@ -12125,10 +12435,15 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12125
12435
|
|
|
12126
12436
|
<div class="doc doc-contents ">
|
|
12127
12437
|
<p class="doc doc-class-bases">
|
|
12128
|
-
Bases: <code><
|
|
12438
|
+
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>
|
|
12439
|
+
|
|
12440
|
+
|
|
12441
|
+
<p>A multiple-choice version of DynamicModelChoiceField.</p>
|
|
12442
|
+
|
|
12443
|
+
|
|
12444
|
+
|
|
12129
12445
|
|
|
12130
12446
|
|
|
12131
|
-
<p>A multiple-choice version of DynamicModelChoiceField.</p>
|
|
12132
12447
|
|
|
12133
12448
|
|
|
12134
12449
|
|
|
@@ -12164,15 +12479,20 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12164
12479
|
|
|
12165
12480
|
<div class="doc doc-contents ">
|
|
12166
12481
|
<p class="doc doc-class-bases">
|
|
12167
|
-
Bases: <code><
|
|
12482
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12168
12483
|
|
|
12169
12484
|
|
|
12170
|
-
|
|
12485
|
+
<p>A field which allows for expansion of IP address ranges
|
|
12171
12486
|
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
12487
|
|
|
12173
12488
|
|
|
12174
12489
|
|
|
12175
12490
|
|
|
12491
|
+
|
|
12492
|
+
|
|
12493
|
+
|
|
12494
|
+
|
|
12495
|
+
|
|
12176
12496
|
<div class="doc doc-children">
|
|
12177
12497
|
|
|
12178
12498
|
|
|
@@ -12204,15 +12524,20 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12204
12524
|
|
|
12205
12525
|
<div class="doc doc-contents ">
|
|
12206
12526
|
<p class="doc doc-class-bases">
|
|
12207
|
-
Bases: <code><
|
|
12527
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12208
12528
|
|
|
12209
12529
|
|
|
12210
|
-
|
|
12530
|
+
<p>A field which allows for numeric range expansion
|
|
12211
12531
|
Example: 'Gi0/[1-3]' => ['Gi0/1', 'Gi0/2', 'Gi0/3']</p>
|
|
12212
12532
|
|
|
12213
12533
|
|
|
12214
12534
|
|
|
12215
12535
|
|
|
12536
|
+
|
|
12537
|
+
|
|
12538
|
+
|
|
12539
|
+
|
|
12540
|
+
|
|
12216
12541
|
<div class="doc doc-children">
|
|
12217
12542
|
|
|
12218
12543
|
|
|
@@ -12244,10 +12569,15 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12244
12569
|
|
|
12245
12570
|
<div class="doc doc-contents ">
|
|
12246
12571
|
<p class="doc doc-class-bases">
|
|
12247
|
-
Bases: <code><
|
|
12572
|
+
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>
|
|
12573
|
+
|
|
12574
|
+
|
|
12575
|
+
<p>Generic form for creating an object from JSON/YAML data</p>
|
|
12576
|
+
|
|
12577
|
+
|
|
12578
|
+
|
|
12248
12579
|
|
|
12249
12580
|
|
|
12250
|
-
<p>Generic form for creating an object from JSON/YAML data</p>
|
|
12251
12581
|
|
|
12252
12582
|
|
|
12253
12583
|
|
|
@@ -12283,16 +12613,21 @@ because the rendered form field needs this in order to correctly prepopulate a d
|
|
|
12283
12613
|
|
|
12284
12614
|
<div class="doc doc-contents ">
|
|
12285
12615
|
<p class="doc doc-class-bases">
|
|
12286
|
-
Bases: <code><
|
|
12616
|
+
Bases: <code><span title="django.forms.JSONField">JSONField</span></code></p>
|
|
12287
12617
|
|
|
12288
12618
|
|
|
12289
|
-
|
|
12619
|
+
<p>A FormField counterpart to JSONArrayField.
|
|
12290
12620
|
Replicates ArrayFormField's base field validation: Field values are validated as JSON Arrays,
|
|
12291
12621
|
and each Array element is validated by <code>base_field</code> validators.</p>
|
|
12292
12622
|
|
|
12293
12623
|
|
|
12294
12624
|
|
|
12295
12625
|
|
|
12626
|
+
|
|
12627
|
+
|
|
12628
|
+
|
|
12629
|
+
|
|
12630
|
+
|
|
12296
12631
|
<div class="doc doc-children">
|
|
12297
12632
|
|
|
12298
12633
|
|
|
@@ -12314,7 +12649,7 @@ and each Array element is validated by <code>base_field</code> validators.</p>
|
|
|
12314
12649
|
|
|
12315
12650
|
<div class="doc doc-contents ">
|
|
12316
12651
|
|
|
12317
|
-
|
|
12652
|
+
<p>Validate <code>value</code> and return its "cleaned" value as an appropriate
|
|
12318
12653
|
Python object. Raise ValidationError for any errors.</p>
|
|
12319
12654
|
|
|
12320
12655
|
</div>
|
|
@@ -12332,7 +12667,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12332
12667
|
|
|
12333
12668
|
<div class="doc doc-contents ">
|
|
12334
12669
|
|
|
12335
|
-
|
|
12670
|
+
<p>Return True if <code>data</code> differs from <code>initial</code>.</p>
|
|
12336
12671
|
|
|
12337
12672
|
</div>
|
|
12338
12673
|
|
|
@@ -12349,7 +12684,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12349
12684
|
|
|
12350
12685
|
<div class="doc doc-contents ">
|
|
12351
12686
|
|
|
12352
|
-
|
|
12687
|
+
<p>Return a string of this value.</p>
|
|
12353
12688
|
|
|
12354
12689
|
</div>
|
|
12355
12690
|
|
|
@@ -12366,7 +12701,7 @@ Python object. Raise ValidationError for any errors.</p>
|
|
|
12366
12701
|
|
|
12367
12702
|
<div class="doc doc-contents ">
|
|
12368
12703
|
|
|
12369
|
-
|
|
12704
|
+
<p>Runs all validators against <code>value</code> and raise ValidationError if necessary.
|
|
12370
12705
|
Some validators can't be created at field initialization time.</p>
|
|
12371
12706
|
|
|
12372
12707
|
</div>
|
|
@@ -12384,7 +12719,7 @@ Some validators can't be created at field initialization time.</p>
|
|
|
12384
12719
|
|
|
12385
12720
|
<div class="doc doc-contents ">
|
|
12386
12721
|
|
|
12387
|
-
|
|
12722
|
+
<p>Convert <code>value</code> into JSON, raising django.core.exceptions.ValidationError
|
|
12388
12723
|
if the data can't be converted. Return the converted value.</p>
|
|
12389
12724
|
|
|
12390
12725
|
</div>
|
|
@@ -12402,7 +12737,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12402
12737
|
|
|
12403
12738
|
<div class="doc doc-contents ">
|
|
12404
12739
|
|
|
12405
|
-
|
|
12740
|
+
<p>Check to see if the provided value is a valid choice.</p>
|
|
12406
12741
|
|
|
12407
12742
|
</div>
|
|
12408
12743
|
|
|
@@ -12419,7 +12754,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12419
12754
|
|
|
12420
12755
|
<div class="doc doc-contents ">
|
|
12421
12756
|
|
|
12422
|
-
|
|
12757
|
+
<p>Validate <code>value</code> and raise ValidationError if necessary.</p>
|
|
12423
12758
|
|
|
12424
12759
|
</div>
|
|
12425
12760
|
|
|
@@ -12446,10 +12781,15 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12446
12781
|
|
|
12447
12782
|
<div class="doc doc-contents ">
|
|
12448
12783
|
<p class="doc doc-class-bases">
|
|
12449
|
-
Bases: <code><
|
|
12784
|
+
Bases: <code><span title="django.forms.fields.JSONField">JSONField</span></code></p>
|
|
12785
|
+
|
|
12786
|
+
|
|
12787
|
+
<p>Custom wrapper around Django's built-in JSONField to avoid presenting "null" as the default text.</p>
|
|
12788
|
+
|
|
12789
|
+
|
|
12790
|
+
|
|
12450
12791
|
|
|
12451
12792
|
|
|
12452
|
-
<p>Custom wrapper around Django's built-in JSONField to avoid presenting "null" as the default text.</p>
|
|
12453
12793
|
|
|
12454
12794
|
|
|
12455
12795
|
|
|
@@ -12485,15 +12825,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12485
12825
|
|
|
12486
12826
|
<div class="doc doc-contents ">
|
|
12487
12827
|
<p class="doc doc-class-bases">
|
|
12488
|
-
Bases: <code><
|
|
12828
|
+
Bases: <code><span title="django.forms.URLField">URLField</span></code></p>
|
|
12489
12829
|
|
|
12490
12830
|
|
|
12491
|
-
|
|
12831
|
+
<p>Modifies Django's built-in URLField to remove the requirement for fully-qualified domain names
|
|
12492
12832
|
(e.g. http://myserver/ is valid)</p>
|
|
12493
12833
|
|
|
12494
12834
|
|
|
12495
12835
|
|
|
12496
12836
|
|
|
12837
|
+
|
|
12838
|
+
|
|
12839
|
+
|
|
12840
|
+
|
|
12841
|
+
|
|
12497
12842
|
<div class="doc doc-children">
|
|
12498
12843
|
|
|
12499
12844
|
|
|
@@ -12525,15 +12870,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12525
12870
|
|
|
12526
12871
|
<div class="doc doc-contents ">
|
|
12527
12872
|
<p class="doc doc-class-bases">
|
|
12528
|
-
Bases: <code><
|
|
12873
|
+
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
12874
|
|
|
12530
12875
|
|
|
12531
|
-
|
|
12876
|
+
<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
12877
|
<p>Raises ValidationError if none of the fields match the requested value.</p>
|
|
12533
12878
|
|
|
12534
12879
|
|
|
12535
12880
|
|
|
12536
12881
|
|
|
12882
|
+
|
|
12883
|
+
|
|
12884
|
+
|
|
12885
|
+
|
|
12886
|
+
|
|
12537
12887
|
<div class="doc doc-children">
|
|
12538
12888
|
|
|
12539
12889
|
|
|
@@ -12565,15 +12915,20 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
12565
12915
|
|
|
12566
12916
|
<div class="doc doc-contents ">
|
|
12567
12917
|
<p class="doc doc-class-bases">
|
|
12568
|
-
Bases: <code><
|
|
12918
|
+
Bases: <code><span title="django.forms.CharField">CharField</span></code></p>
|
|
12569
12919
|
|
|
12570
12920
|
|
|
12571
|
-
|
|
12921
|
+
<p>CharField that takes multiple user character inputs and render them as tags in the form field.
|
|
12572
12922
|
Press enter to complete an input.</p>
|
|
12573
12923
|
|
|
12574
12924
|
|
|
12575
12925
|
|
|
12576
12926
|
|
|
12927
|
+
|
|
12928
|
+
|
|
12929
|
+
|
|
12930
|
+
|
|
12931
|
+
|
|
12577
12932
|
<div class="doc doc-children">
|
|
12578
12933
|
|
|
12579
12934
|
|
|
@@ -12605,15 +12960,20 @@ Press enter to complete an input.</p>
|
|
|
12605
12960
|
|
|
12606
12961
|
<div class="doc doc-contents ">
|
|
12607
12962
|
<p class="doc doc-class-bases">
|
|
12608
|
-
Bases: <code><
|
|
12963
|
+
Bases: <code><span title="nautobot.core.forms.widgets.StaticSelect2Multiple">StaticSelect2Multiple</span></code></p>
|
|
12609
12964
|
|
|
12610
12965
|
|
|
12611
|
-
|
|
12966
|
+
<p>Manual text input with tagging enabled.
|
|
12612
12967
|
Press enter to create a new entry.</p>
|
|
12613
12968
|
|
|
12614
12969
|
|
|
12615
12970
|
|
|
12616
12971
|
|
|
12972
|
+
|
|
12973
|
+
|
|
12974
|
+
|
|
12975
|
+
|
|
12976
|
+
|
|
12617
12977
|
<div class="doc doc-children">
|
|
12618
12978
|
|
|
12619
12979
|
|
|
@@ -12645,16 +13005,21 @@ Press enter to create a new entry.</p>
|
|
|
12645
13005
|
|
|
12646
13006
|
<div class="doc doc-contents ">
|
|
12647
13007
|
<p class="doc doc-class-bases">
|
|
12648
|
-
Bases: <code><
|
|
13008
|
+
Bases: <code><span title="django.forms.ModelMultipleChoiceField">ModelMultipleChoiceField</span></code></p>
|
|
12649
13009
|
|
|
12650
13010
|
|
|
12651
|
-
|
|
13011
|
+
<p>Field for choosing any number of <code>ContentType</code> objects.</p>
|
|
12652
13012
|
<p>Optionally can restrict the available ContentTypes to those supporting a particular feature only.
|
|
12653
13013
|
Optionally can pass the selection through as a list of <code>{app_label}.{model}</code> strings instead of PK values.</p>
|
|
12654
13014
|
|
|
12655
13015
|
|
|
12656
13016
|
|
|
12657
13017
|
|
|
13018
|
+
|
|
13019
|
+
|
|
13020
|
+
|
|
13021
|
+
|
|
13022
|
+
|
|
12658
13023
|
<div class="doc doc-children">
|
|
12659
13024
|
|
|
12660
13025
|
|
|
@@ -12676,7 +13041,7 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12676
13041
|
|
|
12677
13042
|
<div class="doc doc-contents ">
|
|
12678
13043
|
|
|
12679
|
-
|
|
13044
|
+
<p>Construct a MultipleContentTypeField.</p>
|
|
12680
13045
|
|
|
12681
13046
|
|
|
12682
13047
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12691,9 +13056,11 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12691
13056
|
</thead>
|
|
12692
13057
|
<tbody>
|
|
12693
13058
|
<tr class="doc-section-item">
|
|
12694
|
-
<td><code>feature</code></td>
|
|
12695
13059
|
<td>
|
|
12696
|
-
|
|
13060
|
+
<code>feature</code>
|
|
13061
|
+
</td>
|
|
13062
|
+
<td>
|
|
13063
|
+
<code>str</code>
|
|
12697
13064
|
</td>
|
|
12698
13065
|
<td>
|
|
12699
13066
|
<div class="doc-md-description">
|
|
@@ -12705,9 +13072,11 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12705
13072
|
</td>
|
|
12706
13073
|
</tr>
|
|
12707
13074
|
<tr class="doc-section-item">
|
|
12708
|
-
<td><code>choices_as_strings</code></td>
|
|
12709
13075
|
<td>
|
|
12710
|
-
|
|
13076
|
+
<code>choices_as_strings</code>
|
|
13077
|
+
</td>
|
|
13078
|
+
<td>
|
|
13079
|
+
<code>bool</code>
|
|
12711
13080
|
</td>
|
|
12712
13081
|
<td>
|
|
12713
13082
|
<div class="doc-md-description">
|
|
@@ -12746,10 +13115,15 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12746
13115
|
|
|
12747
13116
|
<div class="doc doc-contents ">
|
|
12748
13117
|
<p class="doc doc-class-bases">
|
|
12749
|
-
Bases: <code><
|
|
13118
|
+
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>
|
|
13119
|
+
|
|
13120
|
+
|
|
13121
|
+
<p>Base class for bulk-edit forms for models that support relationships, custom fields and notes.</p>
|
|
13122
|
+
|
|
13123
|
+
|
|
13124
|
+
|
|
12750
13125
|
|
|
12751
13126
|
|
|
12752
|
-
<p>Base class for bulk-edit forms for models that support relationships, custom fields and notes.</p>
|
|
12753
13127
|
|
|
12754
13128
|
|
|
12755
13129
|
|
|
@@ -12785,16 +13159,21 @@ Optionally can pass the selection through as a list of <code>{app_label}.{model}
|
|
|
12785
13159
|
|
|
12786
13160
|
<div class="doc doc-contents ">
|
|
12787
13161
|
<p class="doc doc-class-bases">
|
|
12788
|
-
Bases: <code><
|
|
13162
|
+
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
13163
|
|
|
12790
13164
|
|
|
12791
|
-
|
|
13165
|
+
<p>This class exists to combine common functionality and is used to inherit from throughout the
|
|
12792
13166
|
codebase where all of ContactTeamModelFilterFormMixin, CustomFieldModelFilterFormMixin, and
|
|
12793
13167
|
RelationshipModelFilterFormMixin are needed.</p>
|
|
12794
13168
|
|
|
12795
13169
|
|
|
12796
13170
|
|
|
12797
13171
|
|
|
13172
|
+
|
|
13173
|
+
|
|
13174
|
+
|
|
13175
|
+
|
|
13176
|
+
|
|
12798
13177
|
<div class="doc doc-children">
|
|
12799
13178
|
|
|
12800
13179
|
|
|
@@ -12826,16 +13205,21 @@ RelationshipModelFilterFormMixin are needed.</p>
|
|
|
12826
13205
|
|
|
12827
13206
|
<div class="doc doc-contents ">
|
|
12828
13207
|
<p class="doc doc-class-bases">
|
|
12829
|
-
Bases: <code><
|
|
13208
|
+
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
13209
|
|
|
12831
13210
|
|
|
12832
|
-
|
|
13211
|
+
<p>This class exists to combine common functionality and is used to inherit from throughout the
|
|
12833
13212
|
codebase where all of BootstrapMixin, CustomFieldModelFormMixin, RelationshipModelFormMixin, and
|
|
12834
13213
|
NoteModelFormMixin are needed.</p>
|
|
12835
13214
|
|
|
12836
13215
|
|
|
12837
13216
|
|
|
12838
13217
|
|
|
13218
|
+
|
|
13219
|
+
|
|
13220
|
+
|
|
13221
|
+
|
|
13222
|
+
|
|
12839
13223
|
<div class="doc doc-children">
|
|
12840
13224
|
|
|
12841
13225
|
|
|
@@ -12867,10 +13251,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12867
13251
|
|
|
12868
13252
|
<div class="doc doc-contents ">
|
|
12869
13253
|
<p class="doc doc-class-bases">
|
|
12870
|
-
Bases: <code><
|
|
13254
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13255
|
+
|
|
13256
|
+
|
|
13257
|
+
<p>Base for the NoteModelFormMixin and NoteModelBulkEditFormMixin.</p>
|
|
13258
|
+
|
|
13259
|
+
|
|
13260
|
+
|
|
12871
13261
|
|
|
12872
13262
|
|
|
12873
|
-
<p>Base for the NoteModelFormMixin and NoteModelBulkEditFormMixin.</p>
|
|
12874
13263
|
|
|
12875
13264
|
|
|
12876
13265
|
|
|
@@ -12906,10 +13295,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12906
13295
|
|
|
12907
13296
|
<div class="doc doc-contents ">
|
|
12908
13297
|
<p class="doc doc-class-bases">
|
|
12909
|
-
Bases: <code><
|
|
13298
|
+
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>
|
|
13299
|
+
|
|
13300
|
+
|
|
13301
|
+
<p>Bulk-edit form mixin for models that support Notes.</p>
|
|
13302
|
+
|
|
13303
|
+
|
|
13304
|
+
|
|
12910
13305
|
|
|
12911
13306
|
|
|
12912
|
-
<p>Bulk-edit form mixin for models that support Notes.</p>
|
|
12913
13307
|
|
|
12914
13308
|
|
|
12915
13309
|
|
|
@@ -12945,10 +13339,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12945
13339
|
|
|
12946
13340
|
<div class="doc doc-contents ">
|
|
12947
13341
|
<p class="doc doc-class-bases">
|
|
12948
|
-
Bases: <code><
|
|
13342
|
+
Bases: <code><span title="django.contrib.postgres.forms.SimpleArrayField">SimpleArrayField</span></code></p>
|
|
13343
|
+
|
|
13344
|
+
|
|
13345
|
+
<p>Basic array field that takes comma-separated or hyphenated ranges.</p>
|
|
13346
|
+
|
|
13347
|
+
|
|
13348
|
+
|
|
12949
13349
|
|
|
12950
13350
|
|
|
12951
|
-
<p>Basic array field that takes comma-separated or hyphenated ranges.</p>
|
|
12952
13351
|
|
|
12953
13352
|
|
|
12954
13353
|
|
|
@@ -12984,10 +13383,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
12984
13383
|
|
|
12985
13384
|
<div class="doc doc-contents ">
|
|
12986
13385
|
<p class="doc doc-class-bases">
|
|
12987
|
-
Bases: <code><
|
|
13386
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
13387
|
+
|
|
13388
|
+
|
|
13389
|
+
<p>ModelForm mixin for IPNetwork based models.</p>
|
|
13390
|
+
|
|
13391
|
+
|
|
13392
|
+
|
|
12988
13393
|
|
|
12989
13394
|
|
|
12990
|
-
<p>ModelForm mixin for IPNetwork based models.</p>
|
|
12991
13395
|
|
|
12992
13396
|
|
|
12993
13397
|
|
|
@@ -13023,10 +13427,15 @@ NoteModelFormMixin are needed.</p>
|
|
|
13023
13427
|
|
|
13024
13428
|
<div class="doc doc-contents ">
|
|
13025
13429
|
<p class="doc doc-class-bases">
|
|
13026
|
-
Bases: <code><
|
|
13430
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.BulkEditForm" href="#nautobot.apps.forms.BulkEditForm">BulkEditForm</a></code></p>
|
|
13431
|
+
|
|
13432
|
+
|
|
13433
|
+
<p>Bulk-edit form mixin for models that support Relationships.</p>
|
|
13434
|
+
|
|
13435
|
+
|
|
13436
|
+
|
|
13027
13437
|
|
|
13028
13438
|
|
|
13029
|
-
<p>Bulk-edit form mixin for models that support Relationships.</p>
|
|
13030
13439
|
|
|
13031
13440
|
|
|
13032
13441
|
|
|
@@ -13052,7 +13461,7 @@ NoteModelFormMixin are needed.</p>
|
|
|
13052
13461
|
|
|
13053
13462
|
<div class="doc doc-contents ">
|
|
13054
13463
|
|
|
13055
|
-
|
|
13464
|
+
<p>Helper method to be called from BulkEditView.post().</p>
|
|
13056
13465
|
|
|
13057
13466
|
</div>
|
|
13058
13467
|
|
|
@@ -13079,7 +13488,12 @@ NoteModelFormMixin are needed.</p>
|
|
|
13079
13488
|
|
|
13080
13489
|
<div class="doc doc-contents ">
|
|
13081
13490
|
<p class="doc doc-class-bases">
|
|
13082
|
-
Bases: <code><
|
|
13491
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13492
|
+
|
|
13493
|
+
|
|
13494
|
+
|
|
13495
|
+
|
|
13496
|
+
|
|
13083
13497
|
|
|
13084
13498
|
|
|
13085
13499
|
|
|
@@ -13116,7 +13530,12 @@ NoteModelFormMixin are needed.</p>
|
|
|
13116
13530
|
|
|
13117
13531
|
<div class="doc doc-contents ">
|
|
13118
13532
|
<p class="doc doc-class-bases">
|
|
13119
|
-
Bases: <code><
|
|
13533
|
+
Bases: <code><span title="django.forms.ModelForm">ModelForm</span></code></p>
|
|
13534
|
+
|
|
13535
|
+
|
|
13536
|
+
|
|
13537
|
+
|
|
13538
|
+
|
|
13120
13539
|
|
|
13121
13540
|
|
|
13122
13541
|
|
|
@@ -13143,7 +13562,7 @@ NoteModelFormMixin are needed.</p>
|
|
|
13143
13562
|
|
|
13144
13563
|
<div class="doc doc-contents ">
|
|
13145
13564
|
|
|
13146
|
-
|
|
13565
|
+
<p>First check for any required relationships errors and if there are any, add them via form field errors.
|
|
13147
13566
|
Then verify that any requested RelationshipAssociations do not violate relationship cardinality restrictions.</p>
|
|
13148
13567
|
<ul>
|
|
13149
13568
|
<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 +13598,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13179
13598
|
|
|
13180
13599
|
<div class="doc doc-contents ">
|
|
13181
13600
|
<p class="doc doc-class-bases">
|
|
13182
|
-
Bases: <code><
|
|
13601
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13602
|
+
|
|
13603
|
+
|
|
13604
|
+
<p>Provides a hidden return URL field to control where the user is directed after the form is submitted.</p>
|
|
13605
|
+
|
|
13606
|
+
|
|
13607
|
+
|
|
13183
13608
|
|
|
13184
13609
|
|
|
13185
|
-
<p>Provides a hidden return URL field to control where the user is directed after the form is submitted.</p>
|
|
13186
13610
|
|
|
13187
13611
|
|
|
13188
13612
|
|
|
@@ -13218,10 +13642,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13218
13642
|
|
|
13219
13643
|
<div class="doc doc-contents ">
|
|
13220
13644
|
<p class="doc doc-class-bases">
|
|
13221
|
-
Bases: <code><
|
|
13645
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13646
|
+
|
|
13647
|
+
|
|
13648
|
+
<p>Mixin to add non-required <code>role</code> choice field to forms.</p>
|
|
13649
|
+
|
|
13650
|
+
|
|
13651
|
+
|
|
13222
13652
|
|
|
13223
13653
|
|
|
13224
|
-
<p>Mixin to add non-required <code>role</code> choice field to forms.</p>
|
|
13225
13654
|
|
|
13226
13655
|
|
|
13227
13656
|
|
|
@@ -13257,10 +13686,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13257
13686
|
|
|
13258
13687
|
<div class="doc doc-contents ">
|
|
13259
13688
|
<p class="doc doc-class-bases">
|
|
13260
|
-
Bases: <code><
|
|
13689
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
13690
|
+
|
|
13691
|
+
|
|
13692
|
+
<p>Mixin to add non-required <code>role</code> multiple-choice field to filter forms.</p>
|
|
13693
|
+
|
|
13694
|
+
|
|
13695
|
+
|
|
13261
13696
|
|
|
13262
13697
|
|
|
13263
|
-
<p>Mixin to add non-required <code>role</code> multiple-choice field to filter forms.</p>
|
|
13264
13698
|
|
|
13265
13699
|
|
|
13266
13700
|
|
|
@@ -13296,15 +13730,20 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13296
13730
|
|
|
13297
13731
|
<div class="doc doc-contents ">
|
|
13298
13732
|
<p class="doc doc-class-bases">
|
|
13299
|
-
Bases: <code><
|
|
13733
|
+
Bases: <code><span title="django.forms.Select">Select</span></code></p>
|
|
13300
13734
|
|
|
13301
13735
|
|
|
13302
|
-
|
|
13736
|
+
<p>Modified the stock Select widget to accept choices using a dict() for a label. The dict for each option must include
|
|
13303
13737
|
'label' (string) and 'disabled' (boolean).</p>
|
|
13304
13738
|
|
|
13305
13739
|
|
|
13306
13740
|
|
|
13307
13741
|
|
|
13742
|
+
|
|
13743
|
+
|
|
13744
|
+
|
|
13745
|
+
|
|
13746
|
+
|
|
13308
13747
|
<div class="doc doc-children">
|
|
13309
13748
|
|
|
13310
13749
|
|
|
@@ -13336,10 +13775,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13336
13775
|
|
|
13337
13776
|
<div class="doc doc-contents ">
|
|
13338
13777
|
<p class="doc doc-class-bases">
|
|
13339
|
-
Bases: <code><
|
|
13778
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.StaticSelect2" href="#nautobot.apps.forms.StaticSelect2">StaticSelect2</a></code></p>
|
|
13779
|
+
|
|
13780
|
+
|
|
13781
|
+
<p>Include the primary key of each option in the option label (e.g. "Router7 (4721)").</p>
|
|
13782
|
+
|
|
13783
|
+
|
|
13784
|
+
|
|
13340
13785
|
|
|
13341
13786
|
|
|
13342
|
-
<p>Include the primary key of each option in the option label (e.g. "Router7 (4721)").</p>
|
|
13343
13787
|
|
|
13344
13788
|
|
|
13345
13789
|
|
|
@@ -13375,10 +13819,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13375
13819
|
|
|
13376
13820
|
<div class="doc doc-contents ">
|
|
13377
13821
|
<p class="doc doc-class-bases">
|
|
13378
|
-
Bases: <code><
|
|
13822
|
+
Bases: <code><span title="django.forms.SlugField">SlugField</span></code></p>
|
|
13823
|
+
|
|
13824
|
+
|
|
13825
|
+
<p>Extend the built-in SlugField to automatically populate from a field called <code>name</code> unless otherwise specified.</p>
|
|
13826
|
+
|
|
13827
|
+
|
|
13828
|
+
|
|
13379
13829
|
|
|
13380
13830
|
|
|
13381
|
-
<p>Extend the built-in SlugField to automatically populate from a field called <code>name</code> unless otherwise specified.</p>
|
|
13382
13831
|
|
|
13383
13832
|
|
|
13384
13833
|
|
|
@@ -13404,7 +13853,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13404
13853
|
|
|
13405
13854
|
<div class="doc doc-contents ">
|
|
13406
13855
|
|
|
13407
|
-
|
|
13856
|
+
<p>Instantiate a SlugField.</p>
|
|
13408
13857
|
|
|
13409
13858
|
|
|
13410
13859
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -13419,9 +13868,11 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13419
13868
|
</thead>
|
|
13420
13869
|
<tbody>
|
|
13421
13870
|
<tr class="doc-section-item">
|
|
13422
|
-
<td><code>slug_source</code></td>
|
|
13423
13871
|
<td>
|
|
13424
|
-
|
|
13872
|
+
<code>slug_source</code>
|
|
13873
|
+
</td>
|
|
13874
|
+
<td>
|
|
13875
|
+
<code>(str, tuple)</code>
|
|
13425
13876
|
</td>
|
|
13426
13877
|
<td>
|
|
13427
13878
|
<div class="doc-md-description">
|
|
@@ -13460,10 +13911,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13460
13911
|
|
|
13461
13912
|
<div class="doc doc-contents ">
|
|
13462
13913
|
<p class="doc doc-class-bases">
|
|
13463
|
-
Bases: <code><
|
|
13914
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
13915
|
+
|
|
13916
|
+
|
|
13917
|
+
<p>Subclass TextInput and add a slug regeneration button next to the form field.</p>
|
|
13918
|
+
|
|
13919
|
+
|
|
13920
|
+
|
|
13464
13921
|
|
|
13465
13922
|
|
|
13466
|
-
<p>Subclass TextInput and add a slug regeneration button next to the form field.</p>
|
|
13467
13923
|
|
|
13468
13924
|
|
|
13469
13925
|
|
|
@@ -13499,10 +13955,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13499
13955
|
|
|
13500
13956
|
<div class="doc doc-contents ">
|
|
13501
13957
|
<p class="doc doc-class-bases">
|
|
13502
|
-
Bases: <code><
|
|
13958
|
+
Bases: <code><span title="django.forms.Textarea">Textarea</span></code></p>
|
|
13959
|
+
|
|
13960
|
+
|
|
13961
|
+
<p>Subclass used for rendering a smaller textarea element.</p>
|
|
13962
|
+
|
|
13963
|
+
|
|
13964
|
+
|
|
13503
13965
|
|
|
13504
13966
|
|
|
13505
|
-
<p>Subclass used for rendering a smaller textarea element.</p>
|
|
13506
13967
|
|
|
13507
13968
|
|
|
13508
13969
|
</div>
|
|
@@ -13522,10 +13983,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13522
13983
|
|
|
13523
13984
|
<div class="doc doc-contents ">
|
|
13524
13985
|
<p class="doc doc-class-bases">
|
|
13525
|
-
Bases: <code><
|
|
13986
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.widgets.SelectWithDisabled" href="#nautobot.apps.forms.SelectWithDisabled">SelectWithDisabled</a></code></p>
|
|
13987
|
+
|
|
13988
|
+
|
|
13989
|
+
<p>A static <select> form widget using the Select2 library.</p>
|
|
13990
|
+
|
|
13991
|
+
|
|
13992
|
+
|
|
13526
13993
|
|
|
13527
13994
|
|
|
13528
|
-
<p>A static <select> form widget using the Select2 library.</p>
|
|
13529
13995
|
|
|
13530
13996
|
|
|
13531
13997
|
|
|
@@ -13561,10 +14027,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13561
14027
|
|
|
13562
14028
|
<div class="doc doc-contents ">
|
|
13563
14029
|
<p class="doc doc-class-bases">
|
|
13564
|
-
Bases: <code><
|
|
14030
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
14031
|
+
|
|
14032
|
+
|
|
14033
|
+
<p>Mixin to add non-required <code>status</code> choice field to forms.</p>
|
|
14034
|
+
|
|
14035
|
+
|
|
14036
|
+
|
|
13565
14037
|
|
|
13566
14038
|
|
|
13567
|
-
<p>Mixin to add non-required <code>status</code> choice field to forms.</p>
|
|
13568
14039
|
|
|
13569
14040
|
|
|
13570
14041
|
|
|
@@ -13600,10 +14071,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13600
14071
|
|
|
13601
14072
|
<div class="doc doc-contents ">
|
|
13602
14073
|
<p class="doc doc-class-bases">
|
|
13603
|
-
Bases: <code><
|
|
14074
|
+
Bases: <code><span title="django.forms.Form">Form</span></code></p>
|
|
14075
|
+
|
|
14076
|
+
|
|
14077
|
+
<p>Mixin to add non-required <code>status</code> multiple-choice field to filter forms.</p>
|
|
14078
|
+
|
|
14079
|
+
|
|
14080
|
+
|
|
13604
14081
|
|
|
13605
14082
|
|
|
13606
|
-
<p>Mixin to add non-required <code>status</code> multiple-choice field to filter forms.</p>
|
|
13607
14083
|
|
|
13608
14084
|
|
|
13609
14085
|
|
|
@@ -13639,10 +14115,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13639
14115
|
|
|
13640
14116
|
<div class="doc doc-contents ">
|
|
13641
14117
|
<p class="doc doc-class-bases">
|
|
13642
|
-
Bases: <code><
|
|
14118
|
+
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>
|
|
14119
|
+
|
|
14120
|
+
|
|
14121
|
+
<p>Form for configuring user's table preferences.</p>
|
|
14122
|
+
|
|
14123
|
+
|
|
14124
|
+
|
|
13643
14125
|
|
|
13644
14126
|
|
|
13645
|
-
<p>Form for configuring user's table preferences.</p>
|
|
13646
14127
|
|
|
13647
14128
|
|
|
13648
14129
|
|
|
@@ -13678,15 +14159,20 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13678
14159
|
|
|
13679
14160
|
<div class="doc doc-contents ">
|
|
13680
14161
|
<p class="doc doc-class-bases">
|
|
13681
|
-
Bases: <code><
|
|
14162
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.forms.fields.DynamicModelMultipleChoiceField" href="#nautobot.apps.forms.DynamicModelMultipleChoiceField">DynamicModelMultipleChoiceField</a></code></p>
|
|
13682
14163
|
|
|
13683
14164
|
|
|
13684
|
-
|
|
14165
|
+
<p>A filter field for the tags of a model. Only the tags used by a model are displayed.</p>
|
|
13685
14166
|
<p>:param model: The model of the filter</p>
|
|
13686
14167
|
|
|
13687
14168
|
|
|
13688
14169
|
|
|
13689
14170
|
|
|
14171
|
+
|
|
14172
|
+
|
|
14173
|
+
|
|
14174
|
+
|
|
14175
|
+
|
|
13690
14176
|
<div class="doc doc-children">
|
|
13691
14177
|
|
|
13692
14178
|
|
|
@@ -13718,10 +14204,15 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13718
14204
|
|
|
13719
14205
|
<div class="doc doc-contents ">
|
|
13720
14206
|
<p class="doc doc-class-bases">
|
|
13721
|
-
Bases: <code><
|
|
14207
|
+
Bases: <code><span title="django.forms.TextInput">TextInput</span></code></p>
|
|
14208
|
+
|
|
14209
|
+
|
|
14210
|
+
<p>Time picker using Flatpickr.</p>
|
|
14211
|
+
|
|
14212
|
+
|
|
14213
|
+
|
|
13722
14214
|
|
|
13723
14215
|
|
|
13724
|
-
<p>Time picker using Flatpickr.</p>
|
|
13725
14216
|
|
|
13726
14217
|
|
|
13727
14218
|
|
|
@@ -13756,7 +14247,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13756
14247
|
|
|
13757
14248
|
<div class="doc doc-contents ">
|
|
13758
14249
|
|
|
13759
|
-
|
|
14250
|
+
<p>Add a blank choice to the beginning of a choices list.</p>
|
|
13760
14251
|
|
|
13761
14252
|
</div>
|
|
13762
14253
|
|
|
@@ -13773,7 +14264,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13773
14264
|
|
|
13774
14265
|
<div class="doc doc-contents ">
|
|
13775
14266
|
|
|
13776
|
-
|
|
14267
|
+
<p>Attach a field to an existing filter form class.</p>
|
|
13777
14268
|
|
|
13778
14269
|
</div>
|
|
13779
14270
|
|
|
@@ -13790,7 +14281,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13790
14281
|
|
|
13791
14282
|
<div class="doc doc-contents ">
|
|
13792
14283
|
|
|
13793
|
-
|
|
14284
|
+
<p>Expand an alphabetic pattern into a list of strings.</p>
|
|
13794
14285
|
|
|
13795
14286
|
</div>
|
|
13796
14287
|
|
|
@@ -13807,7 +14298,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13807
14298
|
|
|
13808
14299
|
<div class="doc doc-contents ">
|
|
13809
14300
|
|
|
13810
|
-
|
|
14301
|
+
<p>Expand an IP address pattern into a list of strings. Examples:
|
|
13811
14302
|
'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
14303
|
'2001:db8:0:[0,fd-ff]::/64' => ['2001:db8:0:0::/64', '2001:db8:0:fd::/64', ... '2001:db8:0:ff::/64']</p>
|
|
13813
14304
|
|
|
@@ -13826,7 +14317,7 @@ Then verify that any requested RelationshipAssociations do not violate relations
|
|
|
13826
14317
|
|
|
13827
14318
|
<div class="doc doc-contents ">
|
|
13828
14319
|
|
|
13829
|
-
|
|
14320
|
+
<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
14321
|
for creating objects, but want to avoid the model's validation (e.g. for bulk create/edit functions). All fields
|
|
13831
14322
|
are marked as not required.</p>
|
|
13832
14323
|
|
|
@@ -13845,7 +14336,7 @@ are marked as not required.</p>
|
|
|
13845
14336
|
|
|
13846
14337
|
<div class="doc doc-contents ">
|
|
13847
14338
|
|
|
13848
|
-
|
|
14339
|
+
<p>Expand an alphanumeric range (continuous or not) into a list.
|
|
13849
14340
|
'a-d,f' => [a, b, c, d, f]
|
|
13850
14341
|
'0-3,a-d' => [0, 1, 2, 3, a, b, c, d]</p>
|
|
13851
14342
|
|
|
@@ -13864,7 +14355,7 @@ are marked as not required.</p>
|
|
|
13864
14355
|
|
|
13865
14356
|
<div class="doc doc-contents ">
|
|
13866
14357
|
|
|
13867
|
-
|
|
14358
|
+
<p>Expand a numeric range (continuous or not) into a sorted decimal or
|
|
13868
14359
|
hexadecimal list, as specified by the base parameter
|
|
13869
14360
|
'0-3,5' => [0, 1, 2, 3, 5]
|
|
13870
14361
|
'2,8-b,d,f' => [2, 8, 9, a, b, d, f]</p>
|
|
@@ -13884,7 +14375,7 @@ hexadecimal list, as specified by the base parameter
|
|
|
13884
14375
|
|
|
13885
14376
|
<div class="doc doc-contents ">
|
|
13886
14377
|
|
|
13887
|
-
|
|
14378
|
+
<p>Restrict all form fields which reference a RestrictedQuerySet. This ensures that users see only permitted objects
|
|
13888
14379
|
as available choices.</p>
|
|
13889
14380
|
|
|
13890
14381
|
</div>
|
|
@@ -13994,7 +14485,7 @@ as available choices.</p>
|
|
|
13994
14485
|
|
|
13995
14486
|
|
|
13996
14487
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
13997
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
14488
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
|
|
13998
14489
|
</a>
|
|
13999
14490
|
|
|
14000
14491
|
|
|
@@ -14002,7 +14493,7 @@ as available choices.</p>
|
|
|
14002
14493
|
|
|
14003
14494
|
|
|
14004
14495
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
14005
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.
|
|
14496
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></svg>
|
|
14006
14497
|
</a>
|
|
14007
14498
|
|
|
14008
14499
|
|
|
@@ -14010,7 +14501,7 @@ as available choices.</p>
|
|
|
14010
14501
|
|
|
14011
14502
|
|
|
14012
14503
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
14013
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
14504
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg>
|
|
14014
14505
|
</a>
|
|
14015
14506
|
|
|
14016
14507
|
|
|
@@ -14018,7 +14509,7 @@ as available choices.</p>
|
|
|
14018
14509
|
|
|
14019
14510
|
|
|
14020
14511
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
14021
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.
|
|
14512
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
14022
14513
|
</a>
|
|
14023
14514
|
|
|
14024
14515
|
|
|
@@ -14026,7 +14517,7 @@ as available choices.</p>
|
|
|
14026
14517
|
|
|
14027
14518
|
|
|
14028
14519
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
14029
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.
|
|
14520
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></svg>
|
|
14030
14521
|
</a>
|
|
14031
14522
|
|
|
14032
14523
|
</div>
|
|
@@ -14041,10 +14532,10 @@ as available choices.</p>
|
|
|
14041
14532
|
</div>
|
|
14042
14533
|
|
|
14043
14534
|
|
|
14044
|
-
<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.
|
|
14535
|
+
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
14045
14536
|
|
|
14046
14537
|
|
|
14047
|
-
<script src="../../../assets/javascripts/bundle.
|
|
14538
|
+
<script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
|
|
14048
14539
|
|
|
14049
14540
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
14050
14541
|
|