nautobot 2.4.0__py3-none-any.whl → 2.4.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +0 -1
- nautobot/circuits/api/views.py +8 -4
- nautobot/circuits/tables.py +1 -2
- nautobot/circuits/templates/circuits/circuit_create.html +7 -1
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +10 -6
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +16 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +9 -3
- nautobot/core/api/schema.py +2 -13
- nautobot/core/api/serializers.py +34 -40
- nautobot/core/api/views.py +4 -56
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +1 -1
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +16 -21
- nautobot/core/fixtures/user-data.json +59 -0
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +11 -14
- nautobot/core/forms/forms.py +2 -33
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +7 -28
- nautobot/core/jobs/cleanup.py +12 -48
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +1 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +3 -6
- nautobot/core/settings.py +2 -29
- nautobot/core/settings.yaml +0 -21
- nautobot/core/tables.py +60 -74
- nautobot/core/templates/inc/media.html +0 -3
- nautobot/core/templates/inc/nav_menu.html +0 -1
- nautobot/core/templates/nautobot_config.py.j2 +0 -13
- nautobot/core/templates/search.html +0 -7
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +0 -7
- nautobot/core/templatetags/helpers.py +2 -11
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +15 -170
- nautobot/core/testing/filters.py +2 -25
- nautobot/core/testing/forms.py +0 -2
- nautobot/core/testing/mixins.py +2 -7
- nautobot/core/testing/views.py +29 -44
- nautobot/core/tests/integration/test_app_home.py +1 -0
- nautobot/core/tests/integration/test_app_navbar.py +1 -0
- nautobot/core/tests/integration/test_filters.py +2 -0
- nautobot/core/tests/integration/test_home.py +1 -0
- nautobot/core/tests/integration/test_navbar.py +1 -0
- nautobot/core/tests/integration/test_view_authentication.py +0 -1
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +1 -98
- nautobot/core/tests/test_csv.py +3 -25
- nautobot/core/tests/test_forms.py +0 -1
- nautobot/core/tests/test_jobs.py +1 -303
- nautobot/core/tests/test_settings_schema.py +0 -7
- nautobot/core/tests/test_tables.py +0 -100
- nautobot/core/tests/test_utils.py +1 -63
- nautobot/core/tests/test_views.py +3 -30
- nautobot/core/ui/nav.py +0 -1
- nautobot/core/ui/object_detail.py +1 -15
- nautobot/core/urls.py +0 -11
- nautobot/core/utils/lookup.py +8 -11
- nautobot/core/utils/requests.py +9 -24
- nautobot/core/views/__init__.py +0 -42
- nautobot/core/views/generic.py +176 -78
- nautobot/core/views/mixins.py +34 -94
- nautobot/core/views/renderers.py +6 -6
- nautobot/dcim/api/serializers.py +62 -54
- nautobot/dcim/api/views.py +113 -47
- nautobot/dcim/filters/__init__.py +2 -31
- nautobot/dcim/forms.py +17 -36
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +20 -22
- nautobot/dcim/models/devices.py +1 -10
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +5 -6
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +5 -7
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +7 -1
- nautobot/dcim/templates/dcim/controller_retrieve.html +9 -1
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +0 -2
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +0 -5
- nautobot/dcim/templates/dcim/device.html +9 -1
- nautobot/dcim/templates/dcim/device_edit.html +37 -36
- nautobot/dcim/templates/dcim/location.html +9 -1
- nautobot/dcim/templates/dcim/location_edit.html +7 -1
- nautobot/dcim/templates/dcim/rack.html +9 -1
- nautobot/dcim/templates/dcim/rack_edit.html +7 -1
- nautobot/dcim/templates/dcim/rackreservation.html +9 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +9 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +7 -1
- nautobot/dcim/tests/test_api.py +3 -16
- nautobot/dcim/tests/test_filters.py +0 -33
- nautobot/dcim/tests/test_forms.py +2 -51
- nautobot/dcim/tests/test_graphql.py +0 -52
- nautobot/dcim/tests/test_models.py +5 -34
- nautobot/dcim/tests/test_views.py +83 -21
- nautobot/dcim/views.py +13 -1
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +85 -90
- nautobot/extras/api/views.py +27 -22
- nautobot/extras/constants.py +0 -2
- nautobot/extras/filters/__init__.py +6 -8
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +31 -139
- nautobot/extras/forms/mixins.py +5 -13
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +2 -1
- nautobot/extras/jobs.py +12 -70
- nautobot/extras/managers.py +1 -3
- nautobot/extras/migrations/0018_joblog_data_migration.py +9 -7
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +11 -12
- nautobot/extras/models/groups.py +9 -11
- nautobot/extras/models/jobs.py +4 -23
- nautobot/extras/models/models.py +2 -2
- nautobot/extras/plugins/__init__.py +2 -13
- nautobot/extras/plugins/marketplace_manifest.yml +79 -84
- nautobot/extras/plugins/tables.py +14 -16
- nautobot/extras/plugins/views.py +69 -65
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/tables.py +5 -7
- nautobot/extras/templates/extras/dynamicgroup.html +9 -1
- nautobot/extras/templates/extras/job_detail.html +0 -16
- nautobot/extras/templates/extras/job_edit.html +0 -1
- nautobot/extras/templates/extras/jobqueue_retrieve.html +9 -1
- nautobot/extras/templates/extras/marketplace.html +11 -29
- nautobot/extras/templates/extras/plugin_detail.html +15 -32
- nautobot/extras/templates/extras/plugins_tiles.html +10 -21
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +1 -3
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/integration/test_plugin_banner.py +2 -0
- nautobot/extras/tests/test_api.py +13 -13
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_datasources.py +1 -2
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +1 -20
- nautobot/extras/tests/test_jobs.py +19 -160
- nautobot/extras/tests/test_models.py +10 -10
- nautobot/extras/tests/test_plugins.py +9 -62
- nautobot/extras/tests/test_relationships.py +9 -120
- nautobot/extras/tests/test_views.py +191 -52
- nautobot/extras/utils.py +2 -3
- nautobot/extras/views.py +98 -30
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +33 -41
- nautobot/ipam/api/views.py +117 -68
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +2 -3
- nautobot/ipam/lookups.py +62 -101
- nautobot/ipam/models.py +16 -66
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +7 -23
- nautobot/ipam/templates/ipam/ipaddress.html +9 -1
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +7 -1
- nautobot/ipam/templates/ipam/ipaddress_edit.html +7 -1
- nautobot/ipam/templates/ipam/prefix.html +9 -1
- nautobot/ipam/templates/ipam/prefix_edit.html +7 -1
- nautobot/ipam/templates/ipam/vlan.html +9 -1
- nautobot/ipam/templates/ipam/vlan_edit.html +7 -1
- nautobot/ipam/templates/ipam/vrf_edit.html +7 -1
- nautobot/ipam/tests/test_api.py +3 -416
- nautobot/ipam/tests/test_forms.py +47 -49
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +34 -95
- nautobot/ipam/tests/test_querysets.py +1 -63
- nautobot/ipam/tests/test_views.py +0 -3
- nautobot/ipam/utils/__init__.py +6 -36
- nautobot/ipam/views.py +87 -61
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +2 -40
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +4 -46
- nautobot/project-static/docs/apps/index.html +4 -46
- nautobot/project-static/docs/apps/nautobot-apps.html +6 -47
- nautobot/project-static/docs/assets/_mkdocstrings.css +1 -25
- nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js → bundle.83f73b43.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js.map → bundle.83f73b43.min.js.map} +2 -2
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +10 -62
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +7 -59
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +122 -374
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +18 -90
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +21 -95
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +6 -53
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +5 -52
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +17 -79
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +28 -102
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +21 -108
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +38 -131
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +65 -239
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +165 -581
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +36 -109
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +167 -453
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +211 -493
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +8 -60
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +15 -71
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +55 -407
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +205 -585
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +412 -858
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +7 -59
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +186 -448
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +147 -365
- nautobot/project-static/docs/development/apps/api/configuration-view.html +4 -46
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +4 -46
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +4 -46
- nautobot/project-static/docs/development/apps/api/models/global-search.html +4 -46
- nautobot/project-static/docs/development/apps/api/models/graphql.html +4 -46
- nautobot/project-static/docs/development/apps/api/models/index.html +4 -46
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +4 -46
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +7 -68
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +4 -46
- nautobot/project-static/docs/development/apps/api/prometheus.html +4 -46
- nautobot/project-static/docs/development/apps/api/setup.html +4 -46
- nautobot/project-static/docs/development/apps/api/testing.html +4 -46
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +4 -46
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +4 -46
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +4 -46
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +4 -46
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/base-template.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/index.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/notes.html +4 -46
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +6 -52
- nautobot/project-static/docs/development/apps/api/views/urls.html +4 -46
- nautobot/project-static/docs/development/apps/index.html +4 -46
- nautobot/project-static/docs/development/apps/migration/code-updates.html +4 -46
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +4 -46
- nautobot/project-static/docs/development/apps/migration/from-v1.html +4 -46
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +4 -46
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +4 -46
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +4 -46
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +4 -46
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +8 -50
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +4 -46
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +14 -211
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +4 -46
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +4 -46
- nautobot/project-static/docs/development/core/application-registry.html +4 -46
- nautobot/project-static/docs/development/core/best-practices.html +4 -46
- nautobot/project-static/docs/development/core/bootstrap-ui.html +4 -46
- nautobot/project-static/docs/development/core/caching.html +4 -46
- nautobot/project-static/docs/development/core/controllers.html +4 -46
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +74 -73
- nautobot/project-static/docs/development/core/generic-views.html +4 -46
- nautobot/project-static/docs/development/core/getting-started.html +224 -249
- nautobot/project-static/docs/development/core/homepage.html +7 -49
- nautobot/project-static/docs/development/core/index.html +4 -46
- nautobot/project-static/docs/development/core/{minikube-dev-environment-for-k8s-jobs.html → local-k8s.html} +168 -469
- nautobot/project-static/docs/development/core/model-checklist.html +12 -56
- nautobot/project-static/docs/development/core/model-features.html +4 -46
- nautobot/project-static/docs/development/core/natural-keys.html +4 -46
- nautobot/project-static/docs/development/core/navigation-menu.html +4 -46
- nautobot/project-static/docs/development/core/release-checklist.html +7 -49
- nautobot/project-static/docs/development/core/role-internals.html +4 -46
- nautobot/project-static/docs/development/core/settings.html +4 -46
- nautobot/project-static/docs/development/core/style-guide.html +7 -49
- nautobot/project-static/docs/development/core/templates.html +4 -46
- nautobot/project-static/docs/development/core/testing.html +4 -46
- nautobot/project-static/docs/development/core/ui-component-framework.html +273 -369
- nautobot/project-static/docs/development/core/user-preferences.html +4 -46
- nautobot/project-static/docs/development/index.html +4 -46
- nautobot/project-static/docs/development/jobs/index.html +122 -216
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +4 -46
- nautobot/project-static/docs/index.html +23 -54
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +7 -47
- nautobot/project-static/docs/overview/design_philosophy.html +4 -46
- nautobot/project-static/docs/release-notes/index.html +12 -52
- nautobot/project-static/docs/release-notes/version-1.0.html +193 -234
- nautobot/project-static/docs/release-notes/version-1.1.html +190 -231
- nautobot/project-static/docs/release-notes/version-1.2.html +265 -306
- nautobot/project-static/docs/release-notes/version-1.3.html +291 -332
- nautobot/project-static/docs/release-notes/version-1.4.html +377 -417
- nautobot/project-static/docs/release-notes/version-1.5.html +566 -605
- nautobot/project-static/docs/release-notes/version-1.6.html +447 -904
- nautobot/project-static/docs/release-notes/version-2.0.html +489 -528
- nautobot/project-static/docs/release-notes/version-2.1.html +324 -363
- nautobot/project-static/docs/release-notes/version-2.2.html +317 -356
- nautobot/project-static/docs/release-notes/version-2.3.html +352 -997
- nautobot/project-static/docs/release-notes/version-2.4.html +101 -417
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +287 -295
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +4 -46
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +4 -46
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +6 -48
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +4 -46
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +4 -46
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +8 -110
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +4 -46
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +6 -48
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +4 -46
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +4 -46
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +4 -46
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +8 -66
- nautobot/project-static/docs/user-guide/administration/installation/index.html +4 -46
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +5 -47
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +4 -46
- nautobot/project-static/docs/user-guide/administration/installation/services.html +4 -46
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +4 -46
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +4 -46
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +4 -46
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +8 -49
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +4 -46
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +12 -50
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +7 -49
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +4 -46
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +7 -51
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +4 -46
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +7 -49
- nautobot/project-static/docs/user-guide/index.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +8 -50
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +7 -50
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +7 -49
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +5 -47
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +25 -94
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +5 -74
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +4 -46
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +4 -46
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +13 -9
- nautobot/tenancy/views.py +2 -4
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +4 -5
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +24 -5
- nautobot/virtualization/filters.py +3 -20
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster_edit.html +7 -1
- nautobot/virtualization/templates/virtualization/virtualmachine.html +9 -1
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +8 -2
- nautobot/virtualization/tests/test_filters.py +0 -17
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +9 -1
- nautobot/wireless/tests/test_filters.py +1 -29
- nautobot/wireless/views.py +10 -0
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/METADATA +6 -6
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/RECORD +543 -591
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/WHEEL +1 -1
- nautobot/core/api/constants.py +0 -11
- nautobot/core/jobs/bulk_actions.py +0 -248
- nautobot/core/templates/about.html +0 -67
- nautobot/core/templates/inc/tenancy_form_panel.html +0 -9
- nautobot/core/templates/inc/tenant_table_row.html +0 -11
- nautobot/core/utils/querysets.py +0 -64
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +0 -25
- nautobot/dcim/tests/integration/test_controller.py +0 -62
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +0 -71
- nautobot/dcim/tests/test_jobs.py +0 -118
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +0 -22
- nautobot/extras/migrations/0121_alter_team_contacts.py +0 -17
- nautobot/extras/test_jobs/singleton.py +0 -16
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +0 -9444
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +0 -9722
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +0 -42
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0.dist-info → nautobot-2.4.0b1.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.46">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -2112,27 +2112,6 @@
|
|
|
2112
2112
|
|
|
2113
2113
|
|
|
2114
2114
|
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
<li class="md-nav__item">
|
|
2122
|
-
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
<span class="md-ellipsis">
|
|
2126
|
-
Wireless Networks and Controllers
|
|
2127
|
-
</span>
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
</a>
|
|
2131
|
-
</li>
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
|
|
2135
|
-
|
|
2136
2115
|
</ul>
|
|
2137
2116
|
</nav>
|
|
2138
2117
|
|
|
@@ -5152,27 +5131,6 @@
|
|
|
5152
5131
|
|
|
5153
5132
|
|
|
5154
5133
|
|
|
5155
|
-
<li class="md-nav__item">
|
|
5156
|
-
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
<span class="md-ellipsis">
|
|
5160
|
-
Kubernetes Job Support
|
|
5161
|
-
</span>
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
</a>
|
|
5165
|
-
</li>
|
|
5166
|
-
|
|
5167
|
-
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5176
5134
|
<li class="md-nav__item">
|
|
5177
5135
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5178
5136
|
|
|
@@ -9424,11 +9382,11 @@
|
|
|
9424
9382
|
|
|
9425
9383
|
|
|
9426
9384
|
<li class="md-nav__item">
|
|
9427
|
-
<a href="../../../development/core/
|
|
9385
|
+
<a href="../../../development/core/local-k8s.html" class="md-nav__link">
|
|
9428
9386
|
|
|
9429
9387
|
|
|
9430
9388
|
<span class="md-ellipsis">
|
|
9431
|
-
|
|
9389
|
+
Local Kubernetes Cluster
|
|
9432
9390
|
</span>
|
|
9433
9391
|
|
|
9434
9392
|
|
|
@@ -11652,12 +11610,7 @@
|
|
|
11652
11610
|
|
|
11653
11611
|
<div class="doc doc-contents first">
|
|
11654
11612
|
|
|
11655
|
-
|
|
11656
|
-
|
|
11657
|
-
|
|
11658
|
-
|
|
11659
|
-
|
|
11660
|
-
|
|
11613
|
+
<p>Data model classes and utilities for app implementation.</p>
|
|
11661
11614
|
|
|
11662
11615
|
|
|
11663
11616
|
|
|
@@ -11683,10 +11636,10 @@
|
|
|
11683
11636
|
|
|
11684
11637
|
<div class="doc doc-contents ">
|
|
11685
11638
|
<p class="doc doc-class-bases">
|
|
11686
|
-
Bases: <code><
|
|
11639
|
+
Bases: <code><autoref identifier="django_extensions.db.fields.AutoSlugField" optional hover>AutoSlugField</autoref></code></p>
|
|
11687
11640
|
|
|
11688
11641
|
|
|
11689
|
-
|
|
11642
|
+
<p>AutoSlugField</p>
|
|
11690
11643
|
<p>By default, sets editable=True, blank=True, max_length=100, overwrite_on_add=False, unique=True
|
|
11691
11644
|
Required arguments:
|
|
11692
11645
|
populate_from
|
|
@@ -11728,11 +11681,6 @@ class MyModel(models.Model):
|
|
|
11728
11681
|
|
|
11729
11682
|
|
|
11730
11683
|
|
|
11731
|
-
|
|
11732
|
-
|
|
11733
|
-
|
|
11734
|
-
|
|
11735
|
-
|
|
11736
11684
|
<div class="doc doc-children">
|
|
11737
11685
|
|
|
11738
11686
|
|
|
@@ -11754,7 +11702,7 @@ class MyModel(models.Model):
|
|
|
11754
11702
|
|
|
11755
11703
|
<div class="doc doc-contents ">
|
|
11756
11704
|
|
|
11757
|
-
|
|
11705
|
+
<p>Workaround for https://github.com/django-extensions/django-extensions/issues/1713.</p>
|
|
11758
11706
|
|
|
11759
11707
|
</div>
|
|
11760
11708
|
|
|
@@ -11781,20 +11729,15 @@ class MyModel(models.Model):
|
|
|
11781
11729
|
|
|
11782
11730
|
<div class="doc doc-contents ">
|
|
11783
11731
|
<p class="doc doc-class-bases">
|
|
11784
|
-
Bases: <code><
|
|
11732
|
+
Bases: <code><autoref identifier="django.db.models.Manager" optional hover>Manager</autoref></code></p>
|
|
11785
11733
|
|
|
11786
11734
|
|
|
11787
|
-
|
|
11735
|
+
<p>Base manager class corresponding to BaseModel and RestrictedQuerySet.</p>
|
|
11788
11736
|
<p>Adds built-in natural key support, loosely based on <code>django-natural-keys</code>.</p>
|
|
11789
11737
|
|
|
11790
11738
|
|
|
11791
11739
|
|
|
11792
11740
|
|
|
11793
|
-
|
|
11794
|
-
|
|
11795
|
-
|
|
11796
|
-
|
|
11797
|
-
|
|
11798
11741
|
<div class="doc doc-children">
|
|
11799
11742
|
|
|
11800
11743
|
|
|
@@ -11816,7 +11759,7 @@ class MyModel(models.Model):
|
|
|
11816
11759
|
|
|
11817
11760
|
<div class="doc doc-contents ">
|
|
11818
11761
|
|
|
11819
|
-
|
|
11762
|
+
<p>Return the object corresponding to the provided natural key.</p>
|
|
11820
11763
|
<p>Generic implementation that depends on the model being a BaseModel subclass or otherwise implementing our
|
|
11821
11764
|
<code>natural_key_field_lookups</code> property API. Loosely based on implementation from <code>django-natural-keys</code>.</p>
|
|
11822
11765
|
|
|
@@ -11845,10 +11788,10 @@ class MyModel(models.Model):
|
|
|
11845
11788
|
|
|
11846
11789
|
<div class="doc doc-contents ">
|
|
11847
11790
|
<p class="doc doc-class-bases">
|
|
11848
|
-
Bases: <code><
|
|
11791
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
11849
11792
|
|
|
11850
11793
|
|
|
11851
|
-
|
|
11794
|
+
<p>Base model class that all models should inherit from.</p>
|
|
11852
11795
|
<p>This abstract base provides globally common fields and functionality.</p>
|
|
11853
11796
|
<p>Here we define the primary key to be a UUID field and set its default to
|
|
11854
11797
|
automatically generate a random UUID value. Note however, this does not
|
|
@@ -11864,11 +11807,6 @@ can be used for the same purpose in most cases.</p>
|
|
|
11864
11807
|
|
|
11865
11808
|
|
|
11866
11809
|
|
|
11867
|
-
|
|
11868
|
-
|
|
11869
|
-
|
|
11870
|
-
|
|
11871
|
-
|
|
11872
11810
|
<div class="doc doc-children">
|
|
11873
11811
|
|
|
11874
11812
|
|
|
@@ -11882,7 +11820,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11882
11820
|
|
|
11883
11821
|
|
|
11884
11822
|
<h3 id="nautobot.apps.models.BaseModel.composite_key" class="doc doc-heading">
|
|
11885
|
-
<code class="highlight language-python"><span class="n">composite_key</span></code>
|
|
11823
|
+
<code class="highlight language-python"><span class="n">composite_key</span><span class="p">:</span> <span class="nb">str</span></code>
|
|
11886
11824
|
|
|
11887
11825
|
<span class="doc doc-labels">
|
|
11888
11826
|
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
|
@@ -11893,7 +11831,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11893
11831
|
|
|
11894
11832
|
<div class="doc doc-contents ">
|
|
11895
11833
|
|
|
11896
|
-
|
|
11834
|
+
<p>Automatic "slug" string derived from this model's natural key, suitable for use in URLs etc.</p>
|
|
11897
11835
|
<p>A less naïve implementation than django-natural-keys provides by default, based around URL percent-encoding.</p>
|
|
11898
11836
|
</div>
|
|
11899
11837
|
|
|
@@ -11904,7 +11842,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11904
11842
|
|
|
11905
11843
|
|
|
11906
11844
|
<h3 id="nautobot.apps.models.BaseModel.natural_slug" class="doc doc-heading">
|
|
11907
|
-
<code class="highlight language-python"><span class="n">natural_slug</span></code>
|
|
11845
|
+
<code class="highlight language-python"><span class="n">natural_slug</span><span class="p">:</span> <span class="nb">str</span></code>
|
|
11908
11846
|
|
|
11909
11847
|
<span class="doc doc-labels">
|
|
11910
11848
|
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
|
@@ -11915,7 +11853,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11915
11853
|
|
|
11916
11854
|
<div class="doc doc-contents ">
|
|
11917
11855
|
|
|
11918
|
-
|
|
11856
|
+
<p>Automatic "slug" string derived from this model's natural key. This differs from composite
|
|
11919
11857
|
key in that it must be human-readable and comply with a very limited character set, and is therefore lossy.
|
|
11920
11858
|
This value is not guaranteed to be
|
|
11921
11859
|
unique although a best effort is made by appending a fragment of the primary key to the
|
|
@@ -11940,7 +11878,7 @@ natural slug value.</p>
|
|
|
11940
11878
|
|
|
11941
11879
|
<div class="doc doc-contents ">
|
|
11942
11880
|
|
|
11943
|
-
|
|
11881
|
+
<p>True if the record exists in the database, False if it does not.</p>
|
|
11944
11882
|
</div>
|
|
11945
11883
|
|
|
11946
11884
|
</div>
|
|
@@ -11962,7 +11900,7 @@ natural slug value.</p>
|
|
|
11962
11900
|
|
|
11963
11901
|
<div class="doc doc-contents ">
|
|
11964
11902
|
|
|
11965
|
-
|
|
11903
|
+
<p>Override this method for models with Python <code>@property</code> as part of their <code>natural_key_field_names</code>.</p>
|
|
11966
11904
|
<p>Since CSV export for <code>natural_key_field_names</code> relies on database fields, you can override this method
|
|
11967
11905
|
to provide custom handling for models with property-based natural keys.</p>
|
|
11968
11906
|
|
|
@@ -11981,7 +11919,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11981
11919
|
|
|
11982
11920
|
<div class="doc doc-contents ">
|
|
11983
11921
|
|
|
11984
|
-
|
|
11922
|
+
<p>Return the canonical URL for this object in either the UI or the REST API.</p>
|
|
11985
11923
|
|
|
11986
11924
|
</div>
|
|
11987
11925
|
|
|
@@ -11998,7 +11936,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11998
11936
|
|
|
11999
11937
|
<div class="doc doc-contents ">
|
|
12000
11938
|
|
|
12001
|
-
|
|
11939
|
+
<p>Smarter default implementation of natural key construction.</p>
|
|
12002
11940
|
<ol>
|
|
12003
11941
|
<li>Handles nullable foreign keys (https://github.com/wq/django-natural-keys/issues/18)</li>
|
|
12004
11942
|
<li>Handles variadic natural-keys (e.g. Location model - [name, parent__name, parent__parent__name, ...].)</li>
|
|
@@ -12023,7 +11961,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
12023
11961
|
|
|
12024
11962
|
<div class="doc doc-contents ">
|
|
12025
11963
|
|
|
12026
|
-
|
|
11964
|
+
<p>Helper function to map a list of natural key field values to actual kwargs suitable for lookup and filtering.</p>
|
|
12027
11965
|
<p>Based on <code>django-natural-keys</code> <code>NaturalKeyQuerySet.natural_key_kwargs()</code> method.</p>
|
|
12028
11966
|
|
|
12029
11967
|
</div>
|
|
@@ -12041,7 +11979,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
12041
11979
|
|
|
12042
11980
|
<div class="doc doc-contents ">
|
|
12043
11981
|
|
|
12044
|
-
|
|
11982
|
+
<p>List of lookups (possibly including nested lookups for related models) that make up this model's natural key.</p>
|
|
12045
11983
|
<p>BaseModel provides a "smart" implementation that tries to determine this automatically,
|
|
12046
11984
|
but you can also explicitly set <code>natural_key_field_names</code> on a given model subclass if desired.</p>
|
|
12047
11985
|
<p>This property is based on a consolidation of <code>django-natural-keys</code> <code>ForeignKeyModel.get_natural_key_info()</code>,
|
|
@@ -12064,7 +12002,7 @@ but instead explicitly discounts the <code>id</code> field (only) as a candidate
|
|
|
12064
12002
|
|
|
12065
12003
|
<div class="doc doc-contents ">
|
|
12066
12004
|
|
|
12067
|
-
|
|
12005
|
+
<p>Perform model validation during instance save.</p>
|
|
12068
12006
|
<p>This is a convenience method that first calls <code>self.full_clean()</code> and then <code>self.save()</code>
|
|
12069
12007
|
which in effect enforces model validation prior to saving the instance, without having
|
|
12070
12008
|
to manually make these calls seperately. This is a slight departure from Django norms,
|
|
@@ -12097,20 +12035,15 @@ command.</p>
|
|
|
12097
12035
|
|
|
12098
12036
|
<div class="doc doc-contents ">
|
|
12099
12037
|
<p class="doc doc-class-bases">
|
|
12100
|
-
Bases: <code><
|
|
12038
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
12101
12039
|
|
|
12102
12040
|
|
|
12103
|
-
|
|
12041
|
+
<p>An abstract model which adds fields to store the creation and last-updated times for an object. Both fields can be
|
|
12104
12042
|
null to facilitate adding these fields to existing instances via a database migration.</p>
|
|
12105
12043
|
|
|
12106
12044
|
|
|
12107
12045
|
|
|
12108
12046
|
|
|
12109
|
-
|
|
12110
|
-
|
|
12111
|
-
|
|
12112
|
-
|
|
12113
|
-
|
|
12114
12047
|
<div class="doc doc-children">
|
|
12115
12048
|
|
|
12116
12049
|
|
|
@@ -12132,7 +12065,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12132
12065
|
|
|
12133
12066
|
<div class="doc doc-contents ">
|
|
12134
12067
|
|
|
12135
|
-
|
|
12068
|
+
<p>Return the changelog URL for this object.</p>
|
|
12136
12069
|
|
|
12137
12070
|
</div>
|
|
12138
12071
|
|
|
@@ -12149,7 +12082,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12149
12082
|
|
|
12150
12083
|
<div class="doc doc-contents ">
|
|
12151
12084
|
|
|
12152
|
-
|
|
12085
|
+
<p>Return a new ObjectChange representing a change made to this object, or None if the object shouldn't be logged.</p>
|
|
12153
12086
|
<p>This will typically be called automatically by ChangeLoggingMiddleware.</p>
|
|
12154
12087
|
|
|
12155
12088
|
</div>
|
|
@@ -12177,15 +12110,10 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12177
12110
|
|
|
12178
12111
|
<div class="doc doc-contents ">
|
|
12179
12112
|
<p class="doc doc-class-bases">
|
|
12180
|
-
Bases: <code><
|
|
12181
|
-
|
|
12182
|
-
|
|
12183
|
-
<p>Disregard localization by collating a field as a plain character string. Helpful for ensuring predictable ordering.</p>
|
|
12184
|
-
|
|
12185
|
-
|
|
12186
|
-
|
|
12113
|
+
Bases: <code><autoref identifier="django.db.models.Func" optional hover>Func</autoref></code></p>
|
|
12187
12114
|
|
|
12188
12115
|
|
|
12116
|
+
<p>Disregard localization by collating a field as a plain character string. Helpful for ensuring predictable ordering.</p>
|
|
12189
12117
|
|
|
12190
12118
|
|
|
12191
12119
|
|
|
@@ -12222,7 +12150,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12222
12150
|
<div class="doc doc-contents ">
|
|
12223
12151
|
|
|
12224
12152
|
|
|
12225
|
-
|
|
12153
|
+
<p>Mixin to extend a base queryset class with support for filtering by <code>composite_key=...</code> as a virtual parameter.</p>
|
|
12226
12154
|
<p>Example:</p>
|
|
12227
12155
|
<div class="highlight"><pre><span></span><code>>>> Location.objects.last().composite_key
|
|
12228
12156
|
'Durham;AMER'
|
|
@@ -12260,11 +12188,6 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12260
12188
|
|
|
12261
12189
|
|
|
12262
12190
|
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
12191
|
<div class="doc doc-children">
|
|
12269
12192
|
|
|
12270
12193
|
|
|
@@ -12286,7 +12209,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12286
12209
|
|
|
12287
12210
|
<div class="doc doc-contents ">
|
|
12288
12211
|
|
|
12289
|
-
|
|
12212
|
+
<p>Explicitly handle <code>exclude(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
|
|
12290
12213
|
<p>Counterpart to BaseModel.composite_key property.</p>
|
|
12291
12214
|
|
|
12292
12215
|
</div>
|
|
@@ -12304,7 +12227,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12304
12227
|
|
|
12305
12228
|
<div class="doc doc-contents ">
|
|
12306
12229
|
|
|
12307
|
-
|
|
12230
|
+
<p>Explicitly handle <code>filter(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
|
|
12308
12231
|
<p>Counterpart to BaseModel.composite_key property.</p>
|
|
12309
12232
|
|
|
12310
12233
|
</div>
|
|
@@ -12322,7 +12245,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12322
12245
|
|
|
12323
12246
|
<div class="doc doc-contents ">
|
|
12324
12247
|
|
|
12325
|
-
|
|
12248
|
+
<p>Helper method abstracting a common need from filter() and exclude().</p>
|
|
12326
12249
|
<p>Subclasses may need to call this directly if they also have special processing of other filter/exclude params.</p>
|
|
12327
12250
|
|
|
12328
12251
|
</div>
|
|
@@ -12350,20 +12273,15 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12350
12273
|
|
|
12351
12274
|
<div class="doc doc-contents ">
|
|
12352
12275
|
<p class="doc doc-class-bases">
|
|
12353
|
-
Bases: <code><
|
|
12276
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code>, <code><autoref identifier="nautobot.extras.models.models.ConfigContextSchemaValidationMixin" optional hover>ConfigContextSchemaValidationMixin</autoref></code></p>
|
|
12354
12277
|
|
|
12355
12278
|
|
|
12356
|
-
|
|
12279
|
+
<p>A model which includes local configuration context data. This local data will override any inherited data from
|
|
12357
12280
|
ConfigContexts.</p>
|
|
12358
12281
|
|
|
12359
12282
|
|
|
12360
12283
|
|
|
12361
12284
|
|
|
12362
|
-
|
|
12363
|
-
|
|
12364
|
-
|
|
12365
|
-
|
|
12366
|
-
|
|
12367
12285
|
<div class="doc doc-children">
|
|
12368
12286
|
|
|
12369
12287
|
|
|
@@ -12385,7 +12303,7 @@ ConfigContexts.</p>
|
|
|
12385
12303
|
|
|
12386
12304
|
<div class="doc doc-contents ">
|
|
12387
12305
|
|
|
12388
|
-
|
|
12306
|
+
<p>Return the rendered configuration context for a device or VM.</p>
|
|
12389
12307
|
|
|
12390
12308
|
</div>
|
|
12391
12309
|
|
|
@@ -12413,12 +12331,7 @@ ConfigContexts.</p>
|
|
|
12413
12331
|
<div class="doc doc-contents ">
|
|
12414
12332
|
|
|
12415
12333
|
|
|
12416
|
-
|
|
12417
|
-
|
|
12418
|
-
|
|
12419
|
-
|
|
12420
|
-
|
|
12421
|
-
|
|
12334
|
+
<p>Mixin that provides validation of config context data against a json schema.</p>
|
|
12422
12335
|
|
|
12423
12336
|
|
|
12424
12337
|
|
|
@@ -12454,15 +12367,10 @@ ConfigContexts.</p>
|
|
|
12454
12367
|
|
|
12455
12368
|
<div class="doc doc-contents ">
|
|
12456
12369
|
<p class="doc doc-class-bases">
|
|
12457
|
-
Bases: <code><
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
<p>Abstract mixin for enabling Contact/Team association to a given model class.</p>
|
|
12461
|
-
|
|
12462
|
-
|
|
12463
|
-
|
|
12370
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
12464
12371
|
|
|
12465
12372
|
|
|
12373
|
+
<p>Abstract mixin for enabling Contact/Team association to a given model class.</p>
|
|
12466
12374
|
|
|
12467
12375
|
|
|
12468
12376
|
|
|
@@ -12498,12 +12406,7 @@ ConfigContexts.</p>
|
|
|
12498
12406
|
|
|
12499
12407
|
<div class="doc doc-contents ">
|
|
12500
12408
|
<p class="doc doc-class-bases">
|
|
12501
|
-
Bases: <code><
|
|
12502
|
-
|
|
12503
|
-
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12409
|
+
Bases: <code><autoref identifier="nautobot.core.models.querysets.RestrictedQuerySet" optional hover>RestrictedQuerySet</autoref></code></p>
|
|
12507
12410
|
|
|
12508
12411
|
|
|
12509
12412
|
|
|
@@ -12530,7 +12433,7 @@ ConfigContexts.</p>
|
|
|
12530
12433
|
|
|
12531
12434
|
<div class="doc doc-contents ">
|
|
12532
12435
|
|
|
12533
|
-
|
|
12436
|
+
<p>Return all <code>self.model</code> instances assigned to the given model.</p>
|
|
12534
12437
|
|
|
12535
12438
|
</div>
|
|
12536
12439
|
|
|
@@ -12547,7 +12450,7 @@ ConfigContexts.</p>
|
|
|
12547
12450
|
|
|
12548
12451
|
<div class="doc doc-contents ">
|
|
12549
12452
|
|
|
12550
|
-
|
|
12453
|
+
<p>Return all <code>self.model</code> instances assigned to the given <code>_models</code>.</p>
|
|
12551
12454
|
|
|
12552
12455
|
</div>
|
|
12553
12456
|
|
|
@@ -12574,15 +12477,10 @@ ConfigContexts.</p>
|
|
|
12574
12477
|
|
|
12575
12478
|
<div class="doc doc-contents ">
|
|
12576
12479
|
<p class="doc doc-class-bases">
|
|
12577
|
-
Bases: <code><
|
|
12578
|
-
|
|
12579
|
-
|
|
12580
|
-
<p>Abstract class for any model which may have custom fields associated with it.</p>
|
|
12581
|
-
|
|
12582
|
-
|
|
12583
|
-
|
|
12480
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
12584
12481
|
|
|
12585
12482
|
|
|
12483
|
+
<p>Abstract class for any model which may have custom fields associated with it.</p>
|
|
12586
12484
|
|
|
12587
12485
|
|
|
12588
12486
|
|
|
@@ -12611,7 +12509,7 @@ ConfigContexts.</p>
|
|
|
12611
12509
|
|
|
12612
12510
|
<div class="doc doc-contents ">
|
|
12613
12511
|
|
|
12614
|
-
|
|
12512
|
+
<p>Convenience wrapper for custom field data.</p>
|
|
12615
12513
|
</div>
|
|
12616
12514
|
|
|
12617
12515
|
</div>
|
|
@@ -12632,7 +12530,7 @@ ConfigContexts.</p>
|
|
|
12632
12530
|
|
|
12633
12531
|
<div class="doc doc-contents ">
|
|
12634
12532
|
|
|
12635
|
-
|
|
12533
|
+
<p>Legacy interface to raw custom field data</p>
|
|
12636
12534
|
<p>TODO(John): remove this entirely when the cf property is enhanced</p>
|
|
12637
12535
|
</div>
|
|
12638
12536
|
|
|
@@ -12651,7 +12549,7 @@ ConfigContexts.</p>
|
|
|
12651
12549
|
|
|
12652
12550
|
<div class="doc doc-contents ">
|
|
12653
12551
|
|
|
12654
|
-
|
|
12552
|
+
<p>Get a computed field for this model, lookup via key.
|
|
12655
12553
|
Returns the template of this field if render is False, otherwise returns the rendered value.</p>
|
|
12656
12554
|
|
|
12657
12555
|
</div>
|
|
@@ -12669,7 +12567,7 @@ Returns the template of this field if render is False, otherwise returns the ren
|
|
|
12669
12567
|
|
|
12670
12568
|
<div class="doc doc-contents ">
|
|
12671
12569
|
|
|
12672
|
-
|
|
12570
|
+
<p>Return a dictionary of all computed fields and their rendered values for this model.
|
|
12673
12571
|
Keys are the <code>key</code> value of each field. If label_as_key is True, <code>label</code> values of each field are used as keys.</p>
|
|
12674
12572
|
|
|
12675
12573
|
</div>
|
|
@@ -12687,7 +12585,7 @@ Keys are the <code>key</code> value of each field. If label_as_key is True, <cod
|
|
|
12687
12585
|
|
|
12688
12586
|
<div class="doc doc-contents ">
|
|
12689
12587
|
|
|
12690
|
-
|
|
12588
|
+
<p>Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12691
12589
|
{
|
|
12692
12590
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
12693
12591
|
...
|
|
@@ -12710,7 +12608,7 @@ Keys are the <code>key</code> value of each field. If label_as_key is True, <cod
|
|
|
12710
12608
|
|
|
12711
12609
|
<div class="doc doc-contents ">
|
|
12712
12610
|
|
|
12713
|
-
|
|
12611
|
+
<p>This method exists to help call get_computed_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12714
12612
|
Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12715
12613
|
{
|
|
12716
12614
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12735,7 +12633,7 @@ which have advanced_ui set to True</p>
|
|
|
12735
12633
|
|
|
12736
12634
|
<div class="doc doc-contents ">
|
|
12737
12635
|
|
|
12738
|
-
|
|
12636
|
+
<p>This method exists to help call get_computed_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12739
12637
|
Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12740
12638
|
{
|
|
12741
12639
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12760,7 +12658,7 @@ which have advanced_ui set to False</p>
|
|
|
12760
12658
|
|
|
12761
12659
|
<div class="doc doc-contents ">
|
|
12762
12660
|
|
|
12763
|
-
|
|
12661
|
+
<p>Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12764
12662
|
{
|
|
12765
12663
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
12766
12664
|
...
|
|
@@ -12783,7 +12681,7 @@ which have advanced_ui set to False</p>
|
|
|
12783
12681
|
|
|
12784
12682
|
<div class="doc doc-contents ">
|
|
12785
12683
|
|
|
12786
|
-
|
|
12684
|
+
<p>This method exists to help call get_custom_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12787
12685
|
Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12788
12686
|
{
|
|
12789
12687
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12808,7 +12706,7 @@ which have advanced_ui set to True</p>
|
|
|
12808
12706
|
|
|
12809
12707
|
<div class="doc doc-contents ">
|
|
12810
12708
|
|
|
12811
|
-
|
|
12709
|
+
<p>This method exists to help call get_custom_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12812
12710
|
Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12813
12711
|
{
|
|
12814
12712
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12833,7 +12731,7 @@ which have advanced_ui set to False</p>
|
|
|
12833
12731
|
|
|
12834
12732
|
<div class="doc doc-contents ">
|
|
12835
12733
|
|
|
12836
|
-
|
|
12734
|
+
<p>Return a dictionary of custom fields for a single object in the form {<field>: value}.</p>
|
|
12837
12735
|
|
|
12838
12736
|
</div>
|
|
12839
12737
|
|
|
@@ -12850,7 +12748,7 @@ which have advanced_ui set to False</p>
|
|
|
12850
12748
|
|
|
12851
12749
|
<div class="doc doc-contents ">
|
|
12852
12750
|
|
|
12853
|
-
|
|
12751
|
+
<p>This method exists to help call get_custom_fields() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12854
12752
|
Return a dictionary of custom fields for a single object in the form {<field>: value}
|
|
12855
12753
|
which have advanced_ui set to True</p>
|
|
12856
12754
|
|
|
@@ -12869,7 +12767,7 @@ which have advanced_ui set to True</p>
|
|
|
12869
12767
|
|
|
12870
12768
|
<div class="doc doc-contents ">
|
|
12871
12769
|
|
|
12872
|
-
|
|
12770
|
+
<p>This method exists to help call get_custom_fields() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12873
12771
|
Return a dictionary of custom fields for a single object in the form {<field>: value}
|
|
12874
12772
|
which have advanced_ui set to False</p>
|
|
12875
12773
|
|
|
@@ -12888,7 +12786,7 @@ which have advanced_ui set to False</p>
|
|
|
12888
12786
|
|
|
12889
12787
|
<div class="doc doc-contents ">
|
|
12890
12788
|
|
|
12891
|
-
|
|
12789
|
+
<p>Return a boolean indicating whether or not this content type has computed fields associated with it.
|
|
12892
12790
|
This can also check whether the advanced_ui attribute is True or False for UI display purposes.</p>
|
|
12893
12791
|
|
|
12894
12792
|
</div>
|
|
@@ -12917,7 +12815,7 @@ This can also check whether the advanced_ui attribute is True or False for UI di
|
|
|
12917
12815
|
<div class="doc doc-contents ">
|
|
12918
12816
|
|
|
12919
12817
|
|
|
12920
|
-
|
|
12818
|
+
<p>This class is used to register plugin custom model validators which act on specified models. It contains the clean
|
|
12921
12819
|
method which is overridden by plugin authors to execute custom validation logic. Plugin authors must raise
|
|
12922
12820
|
ValidationError within this method to trigger validation error messages which are propagated to the user.
|
|
12923
12821
|
A convenience method <code>validation_error(<message>)</code> may be used for this purpose.</p>
|
|
@@ -12927,11 +12825,6 @@ should be set as a string in the form <code><app_label>.<model_name>
|
|
|
12927
12825
|
|
|
12928
12826
|
|
|
12929
12827
|
|
|
12930
|
-
|
|
12931
|
-
|
|
12932
|
-
|
|
12933
|
-
|
|
12934
|
-
|
|
12935
12828
|
<div class="doc doc-children">
|
|
12936
12829
|
|
|
12937
12830
|
|
|
@@ -12953,7 +12846,7 @@ should be set as a string in the form <code><app_label>.<model_name>
|
|
|
12953
12846
|
|
|
12954
12847
|
<div class="doc doc-contents ">
|
|
12955
12848
|
|
|
12956
|
-
|
|
12849
|
+
<p>Implement custom model validation in the standard Django clean method pattern. The model instance is accessed
|
|
12957
12850
|
with the <code>object</code> key within <code>self.context</code>, e.g. <code>self.context['object']</code>. ValidationError must be raised to
|
|
12958
12851
|
prevent saving model instance changes, and propagate messages to the user. For convenience,
|
|
12959
12852
|
<code>self.validation_error(<message>)</code> may be called to raise a ValidationError.</p>
|
|
@@ -12973,7 +12866,7 @@ prevent saving model instance changes, and propagate messages to the user. For c
|
|
|
12973
12866
|
|
|
12974
12867
|
<div class="doc doc-contents ">
|
|
12975
12868
|
|
|
12976
|
-
|
|
12869
|
+
<p>Convenience method for raising <code>django.core.exceptions.ValidationError</code> which is required in order to
|
|
12977
12870
|
trigger validation error messages which are propagated to the user.</p>
|
|
12978
12871
|
|
|
12979
12872
|
</div>
|
|
@@ -13002,7 +12895,7 @@ trigger validation error messages which are propagated to the user.</p>
|
|
|
13002
12895
|
<div class="doc doc-contents ">
|
|
13003
12896
|
|
|
13004
12897
|
|
|
13005
|
-
|
|
12898
|
+
<p>DEPRECATED - use DynamicGroupsModelMixin instead if you need to mark a model as supporting Dynamic Groups.</p>
|
|
13006
12899
|
<p>This is necessary because DynamicGroupMixin was incorrectly not implemented as a subclass of models.Model,
|
|
13007
12900
|
and so it cannot properly implement Model behaviors like the <code>static_group_association_set</code> ReverseRelation.
|
|
13008
12901
|
However, adding this inheritance to DynamicGroupMixin itself would negatively impact existing migrations.
|
|
@@ -13016,11 +12909,6 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13016
12909
|
|
|
13017
12910
|
|
|
13018
12911
|
|
|
13019
|
-
|
|
13020
|
-
|
|
13021
|
-
|
|
13022
|
-
|
|
13023
|
-
|
|
13024
12912
|
<div class="doc doc-children">
|
|
13025
12913
|
|
|
13026
12914
|
|
|
@@ -13045,7 +12933,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13045
12933
|
|
|
13046
12934
|
<div class="doc doc-contents ">
|
|
13047
12935
|
|
|
13048
|
-
|
|
12936
|
+
<p>Return a queryset of (cached) <code>DynamicGroup</code> objects this instance is a member of.</p>
|
|
13049
12937
|
</div>
|
|
13050
12938
|
|
|
13051
12939
|
</div>
|
|
@@ -13066,7 +12954,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13066
12954
|
|
|
13067
12955
|
<div class="doc doc-contents ">
|
|
13068
12956
|
|
|
13069
|
-
|
|
12957
|
+
<p>Deprecated - use <code>self.dynamic_groups</code> instead.</p>
|
|
13070
12958
|
</div>
|
|
13071
12959
|
|
|
13072
12960
|
</div>
|
|
@@ -13087,7 +12975,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13087
12975
|
|
|
13088
12976
|
<div class="doc doc-contents ">
|
|
13089
12977
|
|
|
13090
|
-
|
|
12978
|
+
<p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
|
|
13091
12979
|
</div>
|
|
13092
12980
|
|
|
13093
12981
|
</div>
|
|
@@ -13108,7 +12996,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13108
12996
|
|
|
13109
12997
|
<div class="doc doc-contents ">
|
|
13110
12998
|
|
|
13111
|
-
|
|
12999
|
+
<p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
|
|
13112
13000
|
</div>
|
|
13113
13001
|
|
|
13114
13002
|
</div>
|
|
@@ -13126,7 +13014,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13126
13014
|
|
|
13127
13015
|
<div class="doc doc-contents ">
|
|
13128
13016
|
|
|
13129
|
-
|
|
13017
|
+
<p>Return the dynamic groups URL for a given instance.</p>
|
|
13130
13018
|
|
|
13131
13019
|
</div>
|
|
13132
13020
|
|
|
@@ -13153,15 +13041,10 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13153
13041
|
|
|
13154
13042
|
<div class="doc doc-contents ">
|
|
13155
13043
|
<p class="doc doc-class-bases">
|
|
13156
|
-
Bases: <code><
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
<p>Add this to models to make them fully support Dynamic Groups.</p>
|
|
13160
|
-
|
|
13161
|
-
|
|
13162
|
-
|
|
13044
|
+
Bases: <code><autoref identifier="nautobot.extras.models.mixins.DynamicGroupMixin" optional hover>DynamicGroupMixin</autoref></code>, <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
13163
13045
|
|
|
13164
13046
|
|
|
13047
|
+
<p>Add this to models to make them fully support Dynamic Groups.</p>
|
|
13165
13048
|
|
|
13166
13049
|
|
|
13167
13050
|
|
|
@@ -13197,21 +13080,16 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13197
13080
|
|
|
13198
13081
|
<div class="doc doc-contents ">
|
|
13199
13082
|
<p class="doc doc-class-bases">
|
|
13200
|
-
Bases: <code><
|
|
13083
|
+
Bases: <code><autoref identifier="nautobot.core.models.query_functions.JSONBAgg" optional hover>JSONBAgg</autoref></code></p>
|
|
13201
13084
|
|
|
13202
13085
|
|
|
13203
|
-
|
|
13086
|
+
<p>JSONBAgg is a builtin aggregation function which means it includes the use of a GROUP BY clause.
|
|
13204
13087
|
When used as an annotation for collecting config context data objects, the GROUP BY is
|
|
13205
13088
|
incorrect. This subclass overrides the Django ORM aggregation control to remove the GROUP BY.</p>
|
|
13206
13089
|
|
|
13207
13090
|
|
|
13208
13091
|
|
|
13209
13092
|
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
13093
|
<div class="doc doc-children">
|
|
13216
13094
|
|
|
13217
13095
|
|
|
@@ -13243,20 +13121,15 @@ incorrect. This subclass overrides the Django ORM aggregation control to remove
|
|
|
13243
13121
|
|
|
13244
13122
|
<div class="doc doc-contents ">
|
|
13245
13123
|
<p class="doc doc-class-bases">
|
|
13246
|
-
Bases: <code><
|
|
13124
|
+
Bases: <code><autoref identifier="django.core.validators.URLValidator" optional hover>URLValidator</autoref></code></p>
|
|
13247
13125
|
|
|
13248
13126
|
|
|
13249
|
-
|
|
13127
|
+
<p>Extends Django's built-in URLValidator to permit the use of hostnames with no domain extension and enforce allowed
|
|
13250
13128
|
schemes specified in the configuration.</p>
|
|
13251
13129
|
|
|
13252
13130
|
|
|
13253
13131
|
|
|
13254
13132
|
|
|
13255
|
-
|
|
13256
|
-
|
|
13257
|
-
|
|
13258
|
-
|
|
13259
|
-
|
|
13260
13133
|
<div class="doc doc-children">
|
|
13261
13134
|
|
|
13262
13135
|
|
|
@@ -13288,15 +13161,10 @@ schemes specified in the configuration.</p>
|
|
|
13288
13161
|
|
|
13289
13162
|
<div class="doc doc-contents ">
|
|
13290
13163
|
<p class="doc doc-class-bases">
|
|
13291
|
-
Bases: <code><
|
|
13292
|
-
|
|
13293
|
-
|
|
13294
|
-
<p>Ensure that a field's value is not equal to any of the specified values.</p>
|
|
13295
|
-
|
|
13296
|
-
|
|
13297
|
-
|
|
13164
|
+
Bases: <code><autoref identifier="django.core.validators.BaseValidator" optional hover>BaseValidator</autoref></code></p>
|
|
13298
13165
|
|
|
13299
13166
|
|
|
13167
|
+
<p>Ensure that a field's value is not equal to any of the specified values.</p>
|
|
13300
13168
|
|
|
13301
13169
|
|
|
13302
13170
|
|
|
@@ -13332,10 +13200,10 @@ schemes specified in the configuration.</p>
|
|
|
13332
13200
|
|
|
13333
13201
|
<div class="doc doc-contents ">
|
|
13334
13202
|
<p class="doc doc-class-bases">
|
|
13335
|
-
Bases: <code><
|
|
13203
|
+
Bases: <code><autoref identifier="nautobot.core.models.fields.ForeignKeyWithAutoRelatedName" optional hover>ForeignKeyWithAutoRelatedName</autoref></code></p>
|
|
13336
13204
|
|
|
13337
13205
|
|
|
13338
|
-
|
|
13206
|
+
<p>An abstract model field that automatically restricts ForeignKey options based on content_types.</p>
|
|
13339
13207
|
<p>For instance, if the model "Role" contains two records: role_1 and role_2, role_1's content_types
|
|
13340
13208
|
are set to "dcim.location" and "dcim.device" while the role_2's content_types are set to
|
|
13341
13209
|
"circuit.circuit" and "dcim.location."</p>
|
|
@@ -13352,11 +13220,6 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13352
13220
|
|
|
13353
13221
|
|
|
13354
13222
|
|
|
13355
|
-
|
|
13356
|
-
|
|
13357
|
-
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
13223
|
<div class="doc doc-children">
|
|
13361
13224
|
|
|
13362
13225
|
|
|
@@ -13378,7 +13241,7 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13378
13241
|
|
|
13379
13242
|
<div class="doc doc-contents ">
|
|
13380
13243
|
|
|
13381
|
-
|
|
13244
|
+
<p>Return a prepped formfield for use in model forms.</p>
|
|
13382
13245
|
|
|
13383
13246
|
</div>
|
|
13384
13247
|
|
|
@@ -13395,7 +13258,7 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13395
13258
|
|
|
13396
13259
|
<div class="doc doc-contents ">
|
|
13397
13260
|
|
|
13398
|
-
|
|
13261
|
+
<p>Limit this field to only objects which are assigned to this model's content-type.</p>
|
|
13399
13262
|
<p>Note that this is implemented via specifying <code>content_types__app_label=</code> and <code>content_types__model=</code>
|
|
13400
13263
|
rather than via the more obvious <code>content_types=ContentType.objects.get_for_model(self.model)</code>
|
|
13401
13264
|
because the latter approach would involve a database query, and in some cases
|
|
@@ -13426,10 +13289,10 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13426
13289
|
|
|
13427
13290
|
<div class="doc doc-contents ">
|
|
13428
13291
|
<p class="doc doc-class-bases">
|
|
13429
|
-
Bases: <code><
|
|
13292
|
+
Bases: <code><autoref identifier="django.db.models.ForeignKey" optional hover>ForeignKey</autoref></code></p>
|
|
13430
13293
|
|
|
13431
13294
|
|
|
13432
|
-
|
|
13295
|
+
<p>Extend base ForeignKey functionality to create a smarter default <code>related_name</code>.</p>
|
|
13433
13296
|
<p>For example, "ip_addresses" instead of "ipaddress_set", "ipaddresss", or "ipam_ipaddress_related".</p>
|
|
13434
13297
|
<p>Primarily useful for cases of abstract base classes that define ForeignKeys, such as
|
|
13435
13298
|
<code>nautobot.dcim.models.device_components.ComponentModel</code>.</p>
|
|
@@ -13437,11 +13300,6 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13437
13300
|
|
|
13438
13301
|
|
|
13439
13302
|
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
|
|
13445
13303
|
<div class="doc doc-children">
|
|
13446
13304
|
|
|
13447
13305
|
|
|
@@ -13473,21 +13331,16 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13473
13331
|
|
|
13474
13332
|
<div class="doc doc-contents ">
|
|
13475
13333
|
<p class="doc doc-class-bases">
|
|
13476
|
-
Bases: <code><
|
|
13334
|
+
Bases: <code><autoref identifier="django.db.models.JSONField" optional hover>JSONField</autoref></code></p>
|
|
13477
13335
|
|
|
13478
13336
|
|
|
13479
|
-
|
|
13337
|
+
<p>An ArrayField implementation backed JSON storage.
|
|
13480
13338
|
Replicates ArrayField's base field validation.</p>
|
|
13481
13339
|
<p>Supports choices in the base field.</p>
|
|
13482
13340
|
|
|
13483
13341
|
|
|
13484
13342
|
|
|
13485
13343
|
|
|
13486
|
-
|
|
13487
|
-
|
|
13488
|
-
|
|
13489
|
-
|
|
13490
|
-
|
|
13491
13344
|
<div class="doc doc-children">
|
|
13492
13345
|
|
|
13493
13346
|
|
|
@@ -13538,7 +13391,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13538
13391
|
|
|
13539
13392
|
<div class="doc doc-contents ">
|
|
13540
13393
|
|
|
13541
|
-
|
|
13394
|
+
<p>Return a django.forms.Field instance for this field.</p>
|
|
13542
13395
|
|
|
13543
13396
|
</div>
|
|
13544
13397
|
|
|
@@ -13555,7 +13408,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13555
13408
|
|
|
13556
13409
|
<div class="doc doc-contents ">
|
|
13557
13410
|
|
|
13558
|
-
|
|
13411
|
+
<p>Perform preliminary non-db specific value checks and conversions.</p>
|
|
13559
13412
|
|
|
13560
13413
|
</div>
|
|
13561
13414
|
|
|
@@ -13572,7 +13425,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13572
13425
|
|
|
13573
13426
|
<div class="doc doc-contents ">
|
|
13574
13427
|
|
|
13575
|
-
|
|
13428
|
+
<p>Runs all validators against <code>value</code> and raise ValidationError if necessary.
|
|
13576
13429
|
Some validators can't be created at field initialization time.</p>
|
|
13577
13430
|
|
|
13578
13431
|
</div>
|
|
@@ -13590,7 +13443,7 @@ Some validators can't be created at field initialization time.</p>
|
|
|
13590
13443
|
|
|
13591
13444
|
<div class="doc doc-contents ">
|
|
13592
13445
|
|
|
13593
|
-
|
|
13446
|
+
<p>Convert <code>value</code> into JSON, raising django.core.exceptions.ValidationError
|
|
13594
13447
|
if the data can't be converted. Return the converted value.</p>
|
|
13595
13448
|
|
|
13596
13449
|
</div>
|
|
@@ -13608,7 +13461,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
13608
13461
|
|
|
13609
13462
|
<div class="doc doc-contents ">
|
|
13610
13463
|
|
|
13611
|
-
|
|
13464
|
+
<p>Validate <code>value</code> and raise ValidationError if necessary.</p>
|
|
13612
13465
|
|
|
13613
13466
|
</div>
|
|
13614
13467
|
|
|
@@ -13625,7 +13478,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
13625
13478
|
|
|
13626
13479
|
<div class="doc doc-contents ">
|
|
13627
13480
|
|
|
13628
|
-
|
|
13481
|
+
<p>Return a string value of this field from the passed obj.
|
|
13629
13482
|
This is used by the serialization framework.</p>
|
|
13630
13483
|
|
|
13631
13484
|
</div>
|
|
@@ -13653,10 +13506,10 @@ This is used by the serialization framework.</p>
|
|
|
13653
13506
|
|
|
13654
13507
|
<div class="doc doc-contents ">
|
|
13655
13508
|
<p class="doc doc-class-bases">
|
|
13656
|
-
Bases: <code><
|
|
13509
|
+
Bases: <code><autoref identifier="django.db.models.Aggregate" optional hover>Aggregate</autoref></code></p>
|
|
13657
13510
|
|
|
13658
13511
|
|
|
13659
|
-
|
|
13512
|
+
<p>Like django.contrib.postgres.aggregates.JSONBAgg, but different.</p>
|
|
13660
13513
|
<ol>
|
|
13661
13514
|
<li>Supports both Postgres (JSONB_AGG) and MySQL (JSON_ARRAYAGG)</li>
|
|
13662
13515
|
<li>Does not support <code>ordering</code> as JSON_ARRAYAGG does not guarantee ordering.</li>
|
|
@@ -13665,11 +13518,6 @@ This is used by the serialization framework.</p>
|
|
|
13665
13518
|
|
|
13666
13519
|
|
|
13667
13520
|
|
|
13668
|
-
|
|
13669
|
-
|
|
13670
|
-
|
|
13671
|
-
|
|
13672
|
-
|
|
13673
13521
|
<div class="doc doc-children">
|
|
13674
13522
|
|
|
13675
13523
|
|
|
@@ -13701,15 +13549,10 @@ This is used by the serialization framework.</p>
|
|
|
13701
13549
|
|
|
13702
13550
|
<div class="doc doc-contents ">
|
|
13703
13551
|
<p class="doc doc-class-bases">
|
|
13704
|
-
Bases: <code><
|
|
13705
|
-
|
|
13706
|
-
|
|
13707
|
-
<p>Like models.URLField, but using validators.EnhancedURLValidator and forms.LaxURLField.</p>
|
|
13708
|
-
|
|
13709
|
-
|
|
13710
|
-
|
|
13552
|
+
Bases: <code><autoref identifier="django.db.models.URLField" optional hover>URLField</autoref></code></p>
|
|
13711
13553
|
|
|
13712
13554
|
|
|
13555
|
+
<p>Like models.URLField, but using validators.EnhancedURLValidator and forms.LaxURLField.</p>
|
|
13713
13556
|
|
|
13714
13557
|
|
|
13715
13558
|
|
|
@@ -13745,20 +13588,15 @@ This is used by the serialization framework.</p>
|
|
|
13745
13588
|
|
|
13746
13589
|
<div class="doc doc-contents ">
|
|
13747
13590
|
<p class="doc doc-class-bases">
|
|
13748
|
-
Bases: <code><
|
|
13591
|
+
Bases: <code><autoref identifier="nautobot.extras.models.change_logging.ChangeLoggedModel" optional hover>ChangeLoggedModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.ContactMixin" optional hover>ContactMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.customfields.CustomFieldModel" optional hover>CustomFieldModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.DynamicGroupsModelMixin" optional hover>DynamicGroupsModelMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.NotesMixin" optional hover>NotesMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.relationships.RelationshipModel" optional hover>RelationshipModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.SavedViewMixin" optional hover>SavedViewMixin</autoref></code>, <code><autoref identifier="nautobot.core.models.BaseModel" optional hover>BaseModel</autoref></code></p>
|
|
13749
13592
|
|
|
13750
13593
|
|
|
13751
|
-
|
|
13594
|
+
<p>This abstract base properties model contains fields and functionality that are
|
|
13752
13595
|
shared amongst models that requires these fields: name, color, content_types and description.</p>
|
|
13753
13596
|
|
|
13754
13597
|
|
|
13755
13598
|
|
|
13756
13599
|
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
13600
|
<div class="doc doc-children">
|
|
13763
13601
|
|
|
13764
13602
|
|
|
@@ -13790,21 +13628,16 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13790
13628
|
|
|
13791
13629
|
<div class="doc doc-contents ">
|
|
13792
13630
|
<p class="doc doc-class-bases">
|
|
13793
|
-
Bases: <code><
|
|
13631
|
+
Bases: <code><autoref identifier="django.db.models.CharField" optional hover>CharField</autoref></code></p>
|
|
13794
13632
|
|
|
13795
13633
|
|
|
13796
|
-
|
|
13634
|
+
<p>A field which stores a naturalized representation of its target field, to be used for ordering its parent model.</p>
|
|
13797
13635
|
<p>:param target_field: Name of the field of the parent model to be naturalized
|
|
13798
13636
|
:param naturalize_function: The function used to generate a naturalized value (optional)</p>
|
|
13799
13637
|
|
|
13800
13638
|
|
|
13801
13639
|
|
|
13802
13640
|
|
|
13803
|
-
|
|
13804
|
-
|
|
13805
|
-
|
|
13806
|
-
|
|
13807
|
-
|
|
13808
13641
|
<div class="doc doc-children">
|
|
13809
13642
|
|
|
13810
13643
|
|
|
@@ -13826,7 +13659,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13826
13659
|
|
|
13827
13660
|
<div class="doc doc-contents ">
|
|
13828
13661
|
|
|
13829
|
-
|
|
13662
|
+
<p>Generate a naturalized value from the target field</p>
|
|
13830
13663
|
|
|
13831
13664
|
</div>
|
|
13832
13665
|
|
|
@@ -13854,12 +13687,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13854
13687
|
<div class="doc doc-contents ">
|
|
13855
13688
|
|
|
13856
13689
|
|
|
13857
|
-
|
|
13858
|
-
|
|
13859
|
-
|
|
13860
|
-
|
|
13861
|
-
|
|
13862
|
-
|
|
13690
|
+
<p>Adds a <code>notes</code> property that returns a queryset of <code>Notes</code> membership.</p>
|
|
13863
13691
|
|
|
13864
13692
|
|
|
13865
13693
|
|
|
@@ -13888,7 +13716,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13888
13716
|
|
|
13889
13717
|
<div class="doc doc-contents ">
|
|
13890
13718
|
|
|
13891
|
-
|
|
13719
|
+
<p>Return a <code>Notes</code> queryset for this instance.</p>
|
|
13892
13720
|
</div>
|
|
13893
13721
|
|
|
13894
13722
|
</div>
|
|
@@ -13906,7 +13734,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13906
13734
|
|
|
13907
13735
|
<div class="doc doc-contents ">
|
|
13908
13736
|
|
|
13909
|
-
|
|
13737
|
+
<p>Return the notes URL for a given instance.</p>
|
|
13910
13738
|
|
|
13911
13739
|
</div>
|
|
13912
13740
|
|
|
@@ -13933,10 +13761,10 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13933
13761
|
|
|
13934
13762
|
<div class="doc doc-contents ">
|
|
13935
13763
|
<p class="doc doc-class-bases">
|
|
13936
|
-
Bases: <code><
|
|
13764
|
+
Bases: <code><autoref identifier="nautobot.extras.models.change_logging.ChangeLoggedModel" optional hover>ChangeLoggedModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.ContactMixin" optional hover>ContactMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.customfields.CustomFieldModel" optional hover>CustomFieldModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.DynamicGroupsModelMixin" optional hover>DynamicGroupsModelMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.NotesMixin" optional hover>NotesMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.relationships.RelationshipModel" optional hover>RelationshipModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.SavedViewMixin" optional hover>SavedViewMixin</autoref></code>, <code><autoref identifier="nautobot.core.models.BaseModel" optional hover>BaseModel</autoref></code></p>
|
|
13937
13765
|
|
|
13938
13766
|
|
|
13939
|
-
|
|
13767
|
+
<p>Base abstract model for all organizational models.</p>
|
|
13940
13768
|
<p>Organizational models aid the primary models by building structured relationships
|
|
13941
13769
|
and logical groups, or categorizations. Organizational models do not typically
|
|
13942
13770
|
represent concrete networking resources or assets, but rather they enable user
|
|
@@ -13946,11 +13774,6 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
|
|
|
13946
13774
|
|
|
13947
13775
|
|
|
13948
13776
|
|
|
13949
|
-
|
|
13950
|
-
|
|
13951
|
-
|
|
13952
|
-
|
|
13953
|
-
|
|
13954
13777
|
<div class="doc doc-children">
|
|
13955
13778
|
|
|
13956
13779
|
|
|
@@ -13982,10 +13805,10 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
|
|
|
13982
13805
|
|
|
13983
13806
|
<div class="doc doc-contents ">
|
|
13984
13807
|
<p class="doc doc-class-bases">
|
|
13985
|
-
Bases: <code><
|
|
13808
|
+
Bases: <code><autoref identifier="nautobot.extras.models.change_logging.ChangeLoggedModel" optional hover>ChangeLoggedModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.ContactMixin" optional hover>ContactMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.customfields.CustomFieldModel" optional hover>CustomFieldModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.DynamicGroupsModelMixin" optional hover>DynamicGroupsModelMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.NotesMixin" optional hover>NotesMixin</autoref></code>, <code><autoref identifier="nautobot.extras.models.relationships.RelationshipModel" optional hover>RelationshipModel</autoref></code>, <code><autoref identifier="nautobot.extras.models.mixins.SavedViewMixin" optional hover>SavedViewMixin</autoref></code>, <code><autoref identifier="nautobot.core.models.BaseModel" optional hover>BaseModel</autoref></code></p>
|
|
13986
13809
|
|
|
13987
13810
|
|
|
13988
|
-
|
|
13811
|
+
<p>Base abstract model for all primary models.</p>
|
|
13989
13812
|
<p>A primary model is one which is materialistically relevant to the network datamodel.
|
|
13990
13813
|
Such models form the basis of major elements of the data model, like Device,
|
|
13991
13814
|
IP Address, Location, VLAN, Virtual Machine, etc. Primary models usually represent
|
|
@@ -13994,11 +13817,6 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13994
13817
|
|
|
13995
13818
|
|
|
13996
13819
|
|
|
13997
|
-
|
|
13998
|
-
|
|
13999
|
-
|
|
14000
|
-
|
|
14001
|
-
|
|
14002
13820
|
<div class="doc doc-children">
|
|
14003
13821
|
|
|
14004
13822
|
|
|
@@ -14030,15 +13848,10 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14030
13848
|
|
|
14031
13849
|
<div class="doc doc-contents ">
|
|
14032
13850
|
<p class="doc doc-class-bases">
|
|
14033
|
-
Bases: <code><
|
|
14034
|
-
|
|
14035
|
-
|
|
14036
|
-
<p>Abstract class for any model which may have custom relationships associated with it.</p>
|
|
14037
|
-
|
|
14038
|
-
|
|
14039
|
-
|
|
13851
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
14040
13852
|
|
|
14041
13853
|
|
|
13854
|
+
<p>Abstract class for any model which may have custom relationships associated with it.</p>
|
|
14042
13855
|
|
|
14043
13856
|
|
|
14044
13857
|
|
|
@@ -14064,7 +13877,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14064
13877
|
|
|
14065
13878
|
<div class="doc doc-contents ">
|
|
14066
13879
|
|
|
14067
|
-
|
|
13880
|
+
<p>Return a dictionary of RelationshipAssociation querysets for all custom relationships</p>
|
|
14068
13881
|
|
|
14069
13882
|
|
|
14070
13883
|
<p><span class="doc-section-title">Returns:</span></p>
|
|
@@ -14078,7 +13891,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14078
13891
|
<tbody>
|
|
14079
13892
|
<tr class="doc-section-item">
|
|
14080
13893
|
<td>
|
|
14081
|
-
<code>dict</code>
|
|
13894
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
14082
13895
|
</td>
|
|
14083
13896
|
<td>
|
|
14084
13897
|
<div class="doc-md-description">
|
|
@@ -14117,7 +13930,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14117
13930
|
|
|
14118
13931
|
<div class="doc doc-contents ">
|
|
14119
13932
|
|
|
14120
|
-
|
|
13933
|
+
<p>Return a dictionary of relationships with the label and the value or the queryset for each.</p>
|
|
14121
13934
|
<p>Used for rendering relationships in the UI; see nautobot/core/templates/inc/relationships_table_rows.html</p>
|
|
14122
13935
|
|
|
14123
13936
|
|
|
@@ -14132,7 +13945,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14132
13945
|
<tbody>
|
|
14133
13946
|
<tr class="doc-section-item">
|
|
14134
13947
|
<td>
|
|
14135
|
-
<code>dict</code>
|
|
13948
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
14136
13949
|
</td>
|
|
14137
13950
|
<td>
|
|
14138
13951
|
<div class="doc-md-description">
|
|
@@ -14181,7 +13994,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
14181
13994
|
|
|
14182
13995
|
<div class="doc doc-contents ">
|
|
14183
13996
|
|
|
14184
|
-
|
|
13997
|
+
<p>Same docstring as get_relationships_data() above except this only returns relationships
|
|
14185
13998
|
where advanced_ui==True for displaying in the 'Advanced' tab on the object's page</p>
|
|
14186
13999
|
|
|
14187
14000
|
</div>
|
|
@@ -14199,7 +14012,7 @@ where advanced_ui==True for displaying in the 'Advanced' tab on the object's pag
|
|
|
14199
14012
|
|
|
14200
14013
|
<div class="doc doc-contents ">
|
|
14201
14014
|
|
|
14202
|
-
|
|
14015
|
+
<p>Same docstring as get_relationships_data() above except this only returns relationships
|
|
14203
14016
|
where advanced_ui==False for displaying in the main object detail tab on the object's page</p>
|
|
14204
14017
|
|
|
14205
14018
|
</div>
|
|
@@ -14217,7 +14030,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14217
14030
|
|
|
14218
14031
|
<div class="doc doc-contents ">
|
|
14219
14032
|
|
|
14220
|
-
|
|
14033
|
+
<p>Alternative version of get_relationships().</p>
|
|
14221
14034
|
|
|
14222
14035
|
</div>
|
|
14223
14036
|
|
|
@@ -14252,11 +14065,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14252
14065
|
</thead>
|
|
14253
14066
|
<tbody>
|
|
14254
14067
|
<tr class="doc-section-item">
|
|
14068
|
+
<td><code>output_for</code></td>
|
|
14255
14069
|
<td>
|
|
14256
|
-
|
|
14257
|
-
</td>
|
|
14258
|
-
<td>
|
|
14259
|
-
<code>str</code>
|
|
14070
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
14260
14071
|
</td>
|
|
14261
14072
|
<td>
|
|
14262
14073
|
<div class="doc-md-description">
|
|
@@ -14268,11 +14079,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14268
14079
|
</td>
|
|
14269
14080
|
</tr>
|
|
14270
14081
|
<tr class="doc-section-item">
|
|
14082
|
+
<td><code>initial_data</code></td>
|
|
14271
14083
|
<td>
|
|
14272
|
-
|
|
14273
|
-
</td>
|
|
14274
|
-
<td>
|
|
14275
|
-
<code>dict</code>
|
|
14084
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
14276
14085
|
</td>
|
|
14277
14086
|
<td>
|
|
14278
14087
|
<div class="doc-md-description">
|
|
@@ -14284,11 +14093,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14284
14093
|
</td>
|
|
14285
14094
|
</tr>
|
|
14286
14095
|
<tr class="doc-section-item">
|
|
14096
|
+
<td><code>relationships_key_specified</code></td>
|
|
14287
14097
|
<td>
|
|
14288
|
-
|
|
14289
|
-
</td>
|
|
14290
|
-
<td>
|
|
14291
|
-
<code>bool</code>
|
|
14098
|
+
<code><autoref identifier="bool" optional>bool</autoref></code>
|
|
14292
14099
|
</td>
|
|
14293
14100
|
<td>
|
|
14294
14101
|
<div class="doc-md-description">
|
|
@@ -14300,11 +14107,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14300
14107
|
</td>
|
|
14301
14108
|
</tr>
|
|
14302
14109
|
<tr class="doc-section-item">
|
|
14110
|
+
<td><code>instance</code></td>
|
|
14303
14111
|
<td>
|
|
14304
|
-
|
|
14305
|
-
</td>
|
|
14306
|
-
<td>
|
|
14307
|
-
<code>Optional[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
|
|
14112
|
+
<code><autoref identifier="Optional" optional>Optional</autoref>[<autoref identifier="nautobot.core.models.BaseModel" optional hover>BaseModel</autoref>]</code>
|
|
14308
14113
|
</td>
|
|
14309
14114
|
<td>
|
|
14310
14115
|
<div class="doc-md-description">
|
|
@@ -14317,7 +14122,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14317
14122
|
</tr>
|
|
14318
14123
|
</tbody>
|
|
14319
14124
|
</table>
|
|
14320
|
-
|
|
14125
|
+
<p>Returns:
|
|
14321
14126
|
(list[dict]): List of field error dicts if any are found</p>
|
|
14322
14127
|
|
|
14323
14128
|
</div>
|
|
@@ -14345,12 +14150,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14345
14150
|
|
|
14346
14151
|
<div class="doc doc-contents ">
|
|
14347
14152
|
<p class="doc doc-class-bases">
|
|
14348
|
-
Bases: <code><
|
|
14349
|
-
|
|
14350
|
-
|
|
14351
|
-
|
|
14352
|
-
|
|
14353
|
-
|
|
14153
|
+
Bases: <code><autoref identifier="nautobot.core.models.querysets.CompositeKeyQuerySetMixin" optional hover>CompositeKeyQuerySetMixin</autoref></code>, <code><autoref identifier="django.db.models.QuerySet" optional hover>QuerySet</autoref></code></p>
|
|
14354
14154
|
|
|
14355
14155
|
|
|
14356
14156
|
|
|
@@ -14377,7 +14177,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14377
14177
|
|
|
14378
14178
|
<div class="doc doc-contents ">
|
|
14379
14179
|
|
|
14380
|
-
|
|
14180
|
+
<p>Check whether the given user can perform the given action with regard to the given instance of this model.</p>
|
|
14381
14181
|
<p>Either instance or pk must be specified, but not both.</p>
|
|
14382
14182
|
|
|
14383
14183
|
|
|
@@ -14393,11 +14193,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14393
14193
|
</thead>
|
|
14394
14194
|
<tbody>
|
|
14395
14195
|
<tr class="doc-section-item">
|
|
14196
|
+
<td><code>user</code></td>
|
|
14396
14197
|
<td>
|
|
14397
|
-
|
|
14398
|
-
</td>
|
|
14399
|
-
<td>
|
|
14400
|
-
<code>User</code>
|
|
14198
|
+
<code><autoref identifier="User" optional>User</autoref></code>
|
|
14401
14199
|
</td>
|
|
14402
14200
|
<td>
|
|
14403
14201
|
<div class="doc-md-description">
|
|
@@ -14409,11 +14207,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14409
14207
|
</td>
|
|
14410
14208
|
</tr>
|
|
14411
14209
|
<tr class="doc-section-item">
|
|
14210
|
+
<td><code>instance</code></td>
|
|
14412
14211
|
<td>
|
|
14413
|
-
|
|
14414
|
-
</td>
|
|
14415
|
-
<td>
|
|
14416
|
-
<code><span title="self.model">model</span></code>
|
|
14212
|
+
<code><autoref identifier="self.model" optional hover>model</autoref></code>
|
|
14417
14213
|
</td>
|
|
14418
14214
|
<td>
|
|
14419
14215
|
<div class="doc-md-description">
|
|
@@ -14425,11 +14221,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14425
14221
|
</td>
|
|
14426
14222
|
</tr>
|
|
14427
14223
|
<tr class="doc-section-item">
|
|
14224
|
+
<td><code>pk</code></td>
|
|
14428
14225
|
<td>
|
|
14429
|
-
|
|
14430
|
-
</td>
|
|
14431
|
-
<td>
|
|
14432
|
-
<code>uuid</code>
|
|
14226
|
+
<code><autoref identifier="uuid" optional>uuid</autoref></code>
|
|
14433
14227
|
</td>
|
|
14434
14228
|
<td>
|
|
14435
14229
|
<div class="doc-md-description">
|
|
@@ -14441,11 +14235,9 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14441
14235
|
</td>
|
|
14442
14236
|
</tr>
|
|
14443
14237
|
<tr class="doc-section-item">
|
|
14238
|
+
<td><code>action</code></td>
|
|
14444
14239
|
<td>
|
|
14445
|
-
|
|
14446
|
-
</td>
|
|
14447
|
-
<td>
|
|
14448
|
-
<code>str</code>
|
|
14240
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
14449
14241
|
</td>
|
|
14450
14242
|
<td>
|
|
14451
14243
|
<div class="doc-md-description">
|
|
@@ -14471,7 +14263,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14471
14263
|
<tbody>
|
|
14472
14264
|
<tr class="doc-section-item">
|
|
14473
14265
|
<td>
|
|
14474
|
-
<code>bool</code>
|
|
14266
|
+
<code><autoref identifier="bool" optional>bool</autoref></code>
|
|
14475
14267
|
</td>
|
|
14476
14268
|
<td>
|
|
14477
14269
|
<div class="doc-md-description">
|
|
@@ -14497,7 +14289,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14497
14289
|
|
|
14498
14290
|
<div class="doc doc-contents ">
|
|
14499
14291
|
|
|
14500
|
-
|
|
14292
|
+
<p>Wrapper for <code>QuerySet.values_list()</code> that adds the <code>distinct()</code> query to return a list of unique values.</p>
|
|
14501
14293
|
|
|
14502
14294
|
|
|
14503
14295
|
<details class="note" open>
|
|
@@ -14518,11 +14310,9 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
|
|
|
14518
14310
|
</thead>
|
|
14519
14311
|
<tbody>
|
|
14520
14312
|
<tr class="doc-section-item">
|
|
14313
|
+
<td><code>*fields</code></td>
|
|
14521
14314
|
<td>
|
|
14522
|
-
|
|
14523
|
-
</td>
|
|
14524
|
-
<td>
|
|
14525
|
-
<code>str</code>
|
|
14315
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
14526
14316
|
</td>
|
|
14527
14317
|
<td>
|
|
14528
14318
|
<div class="doc-md-description">
|
|
@@ -14534,11 +14324,9 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
|
|
|
14534
14324
|
</td>
|
|
14535
14325
|
</tr>
|
|
14536
14326
|
<tr class="doc-section-item">
|
|
14327
|
+
<td><code>flat</code></td>
|
|
14537
14328
|
<td>
|
|
14538
|
-
|
|
14539
|
-
</td>
|
|
14540
|
-
<td>
|
|
14541
|
-
<code>bool</code>
|
|
14329
|
+
<code><autoref identifier="bool" optional>bool</autoref></code>
|
|
14542
14330
|
</td>
|
|
14543
14331
|
<td>
|
|
14544
14332
|
<div class="doc-md-description">
|
|
@@ -14551,11 +14339,9 @@ Defaults to False.</p>
|
|
|
14551
14339
|
</td>
|
|
14552
14340
|
</tr>
|
|
14553
14341
|
<tr class="doc-section-item">
|
|
14342
|
+
<td><code>named</code></td>
|
|
14554
14343
|
<td>
|
|
14555
|
-
|
|
14556
|
-
</td>
|
|
14557
|
-
<td>
|
|
14558
|
-
<code>bool</code>
|
|
14344
|
+
<code><autoref identifier="bool" optional>bool</autoref></code>
|
|
14559
14345
|
</td>
|
|
14560
14346
|
<td>
|
|
14561
14347
|
<div class="doc-md-description">
|
|
@@ -14581,7 +14367,7 @@ Defaults to False.</p>
|
|
|
14581
14367
|
<tbody>
|
|
14582
14368
|
<tr class="doc-section-item">
|
|
14583
14369
|
<td>
|
|
14584
|
-
<code><
|
|
14370
|
+
<code><autoref identifier="django.db.models.QuerySet" optional hover>QuerySet</autoref></code>
|
|
14585
14371
|
</td>
|
|
14586
14372
|
<td>
|
|
14587
14373
|
<div class="doc-md-description">
|
|
@@ -14607,7 +14393,7 @@ Defaults to False.</p>
|
|
|
14607
14393
|
|
|
14608
14394
|
<div class="doc doc-contents ">
|
|
14609
14395
|
|
|
14610
|
-
|
|
14396
|
+
<p>Filter the QuerySet to return only objects on which the specified user has been granted the specified
|
|
14611
14397
|
permission.</p>
|
|
14612
14398
|
<p>:param user: User instance
|
|
14613
14399
|
:param action: The action which must be permitted (e.g. "view" for "dcim.view_location"); default is 'view'</p>
|
|
@@ -14637,15 +14423,10 @@ permission.</p>
|
|
|
14637
14423
|
|
|
14638
14424
|
<div class="doc doc-contents ">
|
|
14639
14425
|
<p class="doc doc-class-bases">
|
|
14640
|
-
Bases: <code><
|
|
14641
|
-
|
|
14642
|
-
|
|
14643
|
-
<p>Abstract mixin for enabling Saved View functionality to a given model class.</p>
|
|
14644
|
-
|
|
14645
|
-
|
|
14646
|
-
|
|
14426
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
14647
14427
|
|
|
14648
14428
|
|
|
14429
|
+
<p>Abstract mixin for enabling Saved View functionality to a given model class.</p>
|
|
14649
14430
|
|
|
14650
14431
|
|
|
14651
14432
|
|
|
@@ -14681,10 +14462,10 @@ permission.</p>
|
|
|
14681
14462
|
|
|
14682
14463
|
<div class="doc doc-contents ">
|
|
14683
14464
|
<p class="doc doc-class-bases">
|
|
14684
|
-
Bases: <code><
|
|
14465
|
+
Bases: <code><autoref identifier="nautobot.core.models.fields.ForeignKeyLimitedByContentTypes" optional hover>ForeignKeyLimitedByContentTypes</autoref></code></p>
|
|
14685
14466
|
|
|
14686
14467
|
|
|
14687
|
-
|
|
14468
|
+
<p>Model database field that automatically limits custom choices.</p>
|
|
14688
14469
|
<p>The limit_choices_to for the field are automatically derived from:</p>
|
|
14689
14470
|
<div class="highlight"><pre><span></span><code>- the content-type to which the field is attached (e.g. `dcim.device`)
|
|
14690
14471
|
</code></pre></div>
|
|
@@ -14692,11 +14473,6 @@ permission.</p>
|
|
|
14692
14473
|
|
|
14693
14474
|
|
|
14694
14475
|
|
|
14695
|
-
|
|
14696
|
-
|
|
14697
|
-
|
|
14698
|
-
|
|
14699
|
-
|
|
14700
14476
|
<div class="doc doc-children">
|
|
14701
14477
|
|
|
14702
14478
|
|
|
@@ -14718,7 +14494,7 @@ permission.</p>
|
|
|
14718
14494
|
|
|
14719
14495
|
<div class="doc doc-contents ">
|
|
14720
14496
|
|
|
14721
|
-
|
|
14497
|
+
<p>Overload default so that we can assert that <code>.get_FOO_display</code> is
|
|
14722
14498
|
attached to any model that is using a <code>StatusField</code>.</p>
|
|
14723
14499
|
<p>Using <code>.contribute_to_class()</code> is how field objects get added to the model
|
|
14724
14500
|
at during the instance preparation. This is also where any custom model
|
|
@@ -14752,20 +14528,15 @@ having to define it on the model yourself.</p>
|
|
|
14752
14528
|
|
|
14753
14529
|
<div class="doc doc-contents ">
|
|
14754
14530
|
<p class="doc doc-class-bases">
|
|
14755
|
-
Bases: <code><
|
|
14531
|
+
Bases: <code><autoref identifier="django.db.models.Model" optional hover>Model</autoref></code></p>
|
|
14756
14532
|
|
|
14757
14533
|
|
|
14758
|
-
|
|
14534
|
+
<p>Deprecated abstract base class for any model which may have statuses.</p>
|
|
14759
14535
|
<p>Just directly include a StatusField instead for any new models.</p>
|
|
14760
14536
|
|
|
14761
14537
|
|
|
14762
14538
|
|
|
14763
14539
|
|
|
14764
|
-
|
|
14765
|
-
|
|
14766
|
-
|
|
14767
|
-
|
|
14768
|
-
|
|
14769
14540
|
<div class="doc doc-children">
|
|
14770
14541
|
|
|
14771
14542
|
|
|
@@ -14797,15 +14568,10 @@ having to define it on the model yourself.</p>
|
|
|
14797
14568
|
|
|
14798
14569
|
<div class="doc doc-contents ">
|
|
14799
14570
|
<p class="doc doc-class-bases">
|
|
14800
|
-
Bases: <code><
|
|
14801
|
-
|
|
14802
|
-
|
|
14803
|
-
<p>Override FormField method on taggit.managers.TaggableManager to match the Nautobot UI.</p>
|
|
14804
|
-
|
|
14805
|
-
|
|
14806
|
-
|
|
14571
|
+
Bases: <code><autoref identifier="taggit.managers.TaggableManager" optional hover>TaggableManager</autoref></code></p>
|
|
14807
14572
|
|
|
14808
14573
|
|
|
14574
|
+
<p>Override FormField method on taggit.managers.TaggableManager to match the Nautobot UI.</p>
|
|
14809
14575
|
|
|
14810
14576
|
|
|
14811
14577
|
|
|
@@ -14841,15 +14607,10 @@ having to define it on the model yourself.</p>
|
|
|
14841
14607
|
|
|
14842
14608
|
<div class="doc doc-contents ">
|
|
14843
14609
|
<p class="doc doc-class-bases">
|
|
14844
|
-
Bases: <code><
|
|
14845
|
-
|
|
14846
|
-
|
|
14847
|
-
<p>Manager class for model 'tags' fields.</p>
|
|
14848
|
-
|
|
14849
|
-
|
|
14850
|
-
|
|
14610
|
+
Bases: <code><autoref identifier="taggit.managers._TaggableManager" optional hover>_TaggableManager</autoref></code>, <code><autoref identifier="nautobot.core.models.managers.BaseManager" optional hover>BaseManager</autoref></code></p>
|
|
14851
14611
|
|
|
14852
14612
|
|
|
14613
|
+
<p>Manager class for model 'tags' fields.</p>
|
|
14853
14614
|
|
|
14854
14615
|
|
|
14855
14616
|
|
|
@@ -14885,15 +14646,10 @@ having to define it on the model yourself.</p>
|
|
|
14885
14646
|
|
|
14886
14647
|
<div class="doc doc-contents ">
|
|
14887
14648
|
<p class="doc doc-class-bases">
|
|
14888
|
-
Bases: <code><
|
|
14889
|
-
|
|
14890
|
-
|
|
14891
|
-
<p>Extend django-tree-queries' TreeManager to incorporate RestrictedQuerySet.</p>
|
|
14892
|
-
|
|
14893
|
-
|
|
14894
|
-
|
|
14649
|
+
Bases: <code><autoref identifier="tree_queries.query.TreeManager" optional hover>TreeManager</autoref></code>, <code><autoref identifier="nautobot.core.models.BaseManager.from_queryset" optional hover>from_queryset</autoref>(<autoref identifier="nautobot.core.models.tree_queries.TreeQuerySet" optional hover>TreeQuerySet</autoref>)</code></p>
|
|
14895
14650
|
|
|
14896
14651
|
|
|
14652
|
+
<p>Extend django-tree-queries' TreeManager to incorporate RestrictedQuerySet.</p>
|
|
14897
14653
|
|
|
14898
14654
|
|
|
14899
14655
|
|
|
@@ -14922,7 +14678,7 @@ having to define it on the model yourself.</p>
|
|
|
14922
14678
|
|
|
14923
14679
|
<div class="doc doc-contents ">
|
|
14924
14680
|
|
|
14925
|
-
|
|
14681
|
+
<p>Cacheable version of <code>TreeQuerySet.max_tree_depth()</code>.</p>
|
|
14926
14682
|
<p>Generally TreeManagers are persistent objects while TreeQuerySets are not, hence the difference in behavior.</p>
|
|
14927
14683
|
</div>
|
|
14928
14684
|
|
|
@@ -14951,15 +14707,10 @@ having to define it on the model yourself.</p>
|
|
|
14951
14707
|
|
|
14952
14708
|
<div class="doc doc-contents ">
|
|
14953
14709
|
<p class="doc doc-class-bases">
|
|
14954
|
-
Bases: <code><
|
|
14955
|
-
|
|
14956
|
-
|
|
14957
|
-
<p>Nautobot-specific base class for models that exist in a self-referential tree.</p>
|
|
14958
|
-
|
|
14959
|
-
|
|
14960
|
-
|
|
14710
|
+
Bases: <code><autoref identifier="tree_queries.models.TreeNode" optional hover>TreeNode</autoref></code></p>
|
|
14961
14711
|
|
|
14962
14712
|
|
|
14713
|
+
<p>Nautobot-specific base class for models that exist in a self-referential tree.</p>
|
|
14963
14714
|
|
|
14964
14715
|
|
|
14965
14716
|
|
|
@@ -14988,7 +14739,7 @@ having to define it on the model yourself.</p>
|
|
|
14988
14739
|
|
|
14989
14740
|
<div class="doc doc-contents ">
|
|
14990
14741
|
|
|
14991
|
-
|
|
14742
|
+
<p>By default, TreeModels display their full ancestry for clarity.</p>
|
|
14992
14743
|
<p>As this is an expensive thing to calculate, we cache it for a few seconds in the case of repeated lookups.</p>
|
|
14993
14744
|
</div>
|
|
14994
14745
|
|
|
@@ -15017,15 +14768,10 @@ having to define it on the model yourself.</p>
|
|
|
15017
14768
|
|
|
15018
14769
|
<div class="doc doc-contents ">
|
|
15019
14770
|
<p class="doc doc-class-bases">
|
|
15020
|
-
Bases: <code><
|
|
15021
|
-
|
|
15022
|
-
|
|
15023
|
-
<p>Combine django-tree-queries' TreeQuerySet with our RestrictedQuerySet for permissions enforcement.</p>
|
|
15024
|
-
|
|
15025
|
-
|
|
15026
|
-
|
|
14771
|
+
Bases: <code><autoref identifier="tree_queries.query.TreeQuerySet" optional hover>TreeQuerySet</autoref></code>, <code><autoref identifier="nautobot.core.models.querysets.RestrictedQuerySet" optional hover>RestrictedQuerySet</autoref></code></p>
|
|
15027
14772
|
|
|
15028
14773
|
|
|
14774
|
+
<p>Combine django-tree-queries' TreeQuerySet with our RestrictedQuerySet for permissions enforcement.</p>
|
|
15029
14775
|
|
|
15030
14776
|
|
|
15031
14777
|
|
|
@@ -15051,7 +14797,7 @@ having to define it on the model yourself.</p>
|
|
|
15051
14797
|
|
|
15052
14798
|
<div class="doc doc-contents ">
|
|
15053
14799
|
|
|
15054
|
-
|
|
14800
|
+
<p>Custom ancestors method for optimization purposes.</p>
|
|
15055
14801
|
<p>Dynamically computes ancestors either through the tree or through the <code>parent</code> foreign key depending on whether
|
|
15056
14802
|
tree fields are present on <code>of</code>.</p>
|
|
15057
14803
|
|
|
@@ -15070,7 +14816,7 @@ tree fields are present on <code>of</code>.</p>
|
|
|
15070
14816
|
|
|
15071
14817
|
<div class="doc doc-contents ">
|
|
15072
14818
|
|
|
15073
|
-
|
|
14819
|
+
<p>Get the maximum tree depth of any node in this queryset.</p>
|
|
15074
14820
|
<p>In most cases you should use TreeManager.max_depth instead as it's cached and this is not.</p>
|
|
15075
14821
|
<p>root - depth 0
|
|
15076
14822
|
\
|
|
@@ -15106,20 +14852,15 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15106
14852
|
|
|
15107
14853
|
<div class="doc doc-contents ">
|
|
15108
14854
|
<p class="doc doc-class-bases">
|
|
15109
|
-
Bases: <code><
|
|
14855
|
+
Bases: <code><autoref identifier="django.core.validators.RegexValidator" optional hover>RegexValidator</autoref></code></p>
|
|
15110
14856
|
|
|
15111
14857
|
|
|
15112
|
-
|
|
14858
|
+
<p>Checks that the value is a valid regular expression.</p>
|
|
15113
14859
|
<p>Don't confuse this with <code>RegexValidator</code>, which <em>uses</em> a regex to validate a value.</p>
|
|
15114
14860
|
|
|
15115
14861
|
|
|
15116
14862
|
|
|
15117
14863
|
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15121
|
-
|
|
15122
|
-
|
|
15123
14864
|
<div class="doc doc-children">
|
|
15124
14865
|
|
|
15125
14866
|
|
|
@@ -15151,15 +14892,10 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15151
14892
|
|
|
15152
14893
|
<div class="doc doc-contents ">
|
|
15153
14894
|
<p class="doc doc-class-bases">
|
|
15154
|
-
Bases: <code><
|
|
15155
|
-
|
|
15156
|
-
|
|
15157
|
-
<p>IP network address</p>
|
|
15158
|
-
|
|
15159
|
-
|
|
15160
|
-
|
|
14895
|
+
Bases: <code><autoref identifier="django.db.models.BinaryField" optional hover>BinaryField</autoref></code></p>
|
|
15161
14896
|
|
|
15162
14897
|
|
|
14898
|
+
<p>IP network address</p>
|
|
15163
14899
|
|
|
15164
14900
|
|
|
15165
14901
|
|
|
@@ -15185,7 +14921,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15185
14921
|
|
|
15186
14922
|
<div class="doc doc-contents ">
|
|
15187
14923
|
|
|
15188
|
-
|
|
14924
|
+
<p>Returns the correct field type for a given database vendor.</p>
|
|
15189
14925
|
|
|
15190
14926
|
</div>
|
|
15191
14927
|
|
|
@@ -15202,7 +14938,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15202
14938
|
|
|
15203
14939
|
<div class="doc doc-contents ">
|
|
15204
14940
|
|
|
15205
|
-
|
|
14941
|
+
<p>Converts DB (varbinary) to Python (str).</p>
|
|
15206
14942
|
|
|
15207
14943
|
</div>
|
|
15208
14944
|
|
|
@@ -15219,7 +14955,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15219
14955
|
|
|
15220
14956
|
<div class="doc doc-contents ">
|
|
15221
14957
|
|
|
15222
|
-
|
|
14958
|
+
<p>Converts Python (str) to DB (varbinary).</p>
|
|
15223
14959
|
|
|
15224
14960
|
</div>
|
|
15225
14961
|
|
|
@@ -15236,7 +14972,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15236
14972
|
|
|
15237
14973
|
<div class="doc doc-contents ">
|
|
15238
14974
|
|
|
15239
|
-
|
|
14975
|
+
<p>Converts <code>value</code> to Python (str).</p>
|
|
15240
14976
|
|
|
15241
14977
|
</div>
|
|
15242
14978
|
|
|
@@ -15253,7 +14989,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15253
14989
|
|
|
15254
14990
|
<div class="doc doc-contents ">
|
|
15255
14991
|
|
|
15256
|
-
|
|
14992
|
+
<p>IPField is serialized as str(IPAddress())</p>
|
|
15257
14993
|
|
|
15258
14994
|
</div>
|
|
15259
14995
|
|
|
@@ -15279,7 +15015,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15279
15015
|
|
|
15280
15016
|
<div class="doc doc-contents ">
|
|
15281
15017
|
|
|
15282
|
-
|
|
15018
|
+
<p>Generate an efficient, human-friendly string from a set of integers. Intended for use with ArrayField.
|
|
15283
15019
|
For example:
|
|
15284
15020
|
[0, 1, 2, 10, 14, 15, 16] => "0-2, 10, 14-16"</p>
|
|
15285
15021
|
|
|
@@ -15298,7 +15034,7 @@ For example:
|
|
|
15298
15034
|
|
|
15299
15035
|
<div class="doc doc-contents ">
|
|
15300
15036
|
|
|
15301
|
-
|
|
15037
|
+
<p>Convert the given list of natural key values to a single URL-path-usable string.</p>
|
|
15302
15038
|
<ul>
|
|
15303
15039
|
<li>Non-URL-safe characters are percent-encoded.</li>
|
|
15304
15040
|
<li>Null (<code>None</code>) values are percent-encoded as a literal null character <code>%00</code>.</li>
|
|
@@ -15320,7 +15056,7 @@ For example:
|
|
|
15320
15056
|
|
|
15321
15057
|
<div class="doc doc-contents ">
|
|
15322
15058
|
|
|
15323
|
-
|
|
15059
|
+
<p>Convert the given list of natural key <code>values</code> to a single human-readable string.</p>
|
|
15324
15060
|
<p>If <code>pk</code> is provided, it will be appended to the end of the natural slug. If the PK is a UUID,
|
|
15325
15061
|
only the first four characters will be appended.</p>
|
|
15326
15062
|
<p>A third-party lossy <code>slugify()</code> function is used to convert each natural key value to a
|
|
@@ -15351,7 +15087,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15351
15087
|
|
|
15352
15088
|
<div class="doc doc-contents ">
|
|
15353
15089
|
|
|
15354
|
-
|
|
15090
|
+
<p>Return a Subquery suitable for annotating a child object count.</p>
|
|
15355
15091
|
|
|
15356
15092
|
|
|
15357
15093
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15366,11 +15102,9 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15366
15102
|
</thead>
|
|
15367
15103
|
<tbody>
|
|
15368
15104
|
<tr class="doc-section-item">
|
|
15105
|
+
<td><code>model</code></td>
|
|
15369
15106
|
<td>
|
|
15370
|
-
|
|
15371
|
-
</td>
|
|
15372
|
-
<td>
|
|
15373
|
-
<code>Model</code>
|
|
15107
|
+
<code><autoref identifier="Model" optional>Model</autoref></code>
|
|
15374
15108
|
</td>
|
|
15375
15109
|
<td>
|
|
15376
15110
|
<div class="doc-md-description">
|
|
@@ -15382,11 +15116,9 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15382
15116
|
</td>
|
|
15383
15117
|
</tr>
|
|
15384
15118
|
<tr class="doc-section-item">
|
|
15119
|
+
<td><code>field</code></td>
|
|
15385
15120
|
<td>
|
|
15386
|
-
|
|
15387
|
-
</td>
|
|
15388
|
-
<td>
|
|
15389
|
-
<code>str</code>
|
|
15121
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
15390
15122
|
</td>
|
|
15391
15123
|
<td>
|
|
15392
15124
|
<div class="doc-md-description">
|
|
@@ -15398,11 +15130,9 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15398
15130
|
</td>
|
|
15399
15131
|
</tr>
|
|
15400
15132
|
<tr class="doc-section-item">
|
|
15133
|
+
<td><code>filter_dict</code></td>
|
|
15401
15134
|
<td>
|
|
15402
|
-
|
|
15403
|
-
</td>
|
|
15404
|
-
<td>
|
|
15405
|
-
<code>dict</code>
|
|
15135
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
15406
15136
|
</td>
|
|
15407
15137
|
<td>
|
|
15408
15138
|
<div class="doc-md-description">
|
|
@@ -15414,11 +15144,9 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15414
15144
|
</td>
|
|
15415
15145
|
</tr>
|
|
15416
15146
|
<tr class="doc-section-item">
|
|
15147
|
+
<td><code>manager_name</code></td>
|
|
15417
15148
|
<td>
|
|
15418
|
-
|
|
15419
|
-
</td>
|
|
15420
|
-
<td>
|
|
15421
|
-
<code>str</code>
|
|
15149
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
15422
15150
|
</td>
|
|
15423
15151
|
<td>
|
|
15424
15152
|
<div class="doc-md-description">
|
|
@@ -15447,7 +15175,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15447
15175
|
|
|
15448
15176
|
<div class="doc doc-contents ">
|
|
15449
15177
|
|
|
15450
|
-
|
|
15178
|
+
<p>Convert the given composite-key string back to a list of distinct values.</p>
|
|
15451
15179
|
<ul>
|
|
15452
15180
|
<li>Percent-encoded characters are converted back to their raw values</li>
|
|
15453
15181
|
<li>Single literal null characters <code>%00</code> are converted back to a Python <code>None</code>.</li>
|
|
@@ -15469,7 +15197,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15469
15197
|
|
|
15470
15198
|
<div class="doc doc-contents ">
|
|
15471
15199
|
|
|
15472
|
-
|
|
15200
|
+
<p>Decorator used to register extras provided features to a model</p>
|
|
15473
15201
|
|
|
15474
15202
|
</div>
|
|
15475
15203
|
|
|
@@ -15486,7 +15214,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15486
15214
|
|
|
15487
15215
|
<div class="doc doc-contents ">
|
|
15488
15216
|
|
|
15489
|
-
|
|
15217
|
+
<p>Find all models that have fields with the specified names and satisfy the additional constraints,
|
|
15490
15218
|
and return them grouped by app.</p>
|
|
15491
15219
|
|
|
15492
15220
|
|
|
@@ -15502,11 +15230,9 @@ and return them grouped by app.</p>
|
|
|
15502
15230
|
</thead>
|
|
15503
15231
|
<tbody>
|
|
15504
15232
|
<tr class="doc-section-item">
|
|
15233
|
+
<td><code>app_models</code></td>
|
|
15505
15234
|
<td>
|
|
15506
|
-
|
|
15507
|
-
</td>
|
|
15508
|
-
<td>
|
|
15509
|
-
<code>list[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
|
|
15235
|
+
<code><autoref identifier="list" optional>list</autoref>[<autoref identifier="nautobot.core.models.BaseModel" optional hover>BaseModel</autoref>]</code>
|
|
15510
15236
|
</td>
|
|
15511
15237
|
<td>
|
|
15512
15238
|
<div class="doc-md-description">
|
|
@@ -15518,11 +15244,9 @@ and return them grouped by app.</p>
|
|
|
15518
15244
|
</td>
|
|
15519
15245
|
</tr>
|
|
15520
15246
|
<tr class="doc-section-item">
|
|
15247
|
+
<td><code>field_names</code></td>
|
|
15521
15248
|
<td>
|
|
15522
|
-
|
|
15523
|
-
</td>
|
|
15524
|
-
<td>
|
|
15525
|
-
<code>list[str]</code>
|
|
15249
|
+
<code><autoref identifier="list" optional>list</autoref>[<autoref identifier="str" optional>str</autoref>]</code>
|
|
15526
15250
|
</td>
|
|
15527
15251
|
<td>
|
|
15528
15252
|
<div class="doc-md-description">
|
|
@@ -15534,11 +15258,9 @@ and return them grouped by app.</p>
|
|
|
15534
15258
|
</td>
|
|
15535
15259
|
</tr>
|
|
15536
15260
|
<tr class="doc-section-item">
|
|
15261
|
+
<td><code>field_attributes</code></td>
|
|
15537
15262
|
<td>
|
|
15538
|
-
|
|
15539
|
-
</td>
|
|
15540
|
-
<td>
|
|
15541
|
-
<code>dict</code>
|
|
15263
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
15542
15264
|
</td>
|
|
15543
15265
|
<td>
|
|
15544
15266
|
<div class="doc-md-description">
|
|
@@ -15550,11 +15272,9 @@ and return them grouped by app.</p>
|
|
|
15550
15272
|
</td>
|
|
15551
15273
|
</tr>
|
|
15552
15274
|
<tr class="doc-section-item">
|
|
15275
|
+
<td><code>additional_constraints</code></td>
|
|
15553
15276
|
<td>
|
|
15554
|
-
|
|
15555
|
-
</td>
|
|
15556
|
-
<td>
|
|
15557
|
-
<code>dict</code>
|
|
15277
|
+
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
15558
15278
|
</td>
|
|
15559
15279
|
<td>
|
|
15560
15280
|
<div class="doc-md-description">
|
|
@@ -15588,7 +15308,7 @@ and return them grouped by app.</p>
|
|
|
15588
15308
|
|
|
15589
15309
|
<div class="doc doc-contents ">
|
|
15590
15310
|
|
|
15591
|
-
|
|
15311
|
+
<p>Get a list of all non-abstract models that inherit from the given base_class.</p>
|
|
15592
15312
|
|
|
15593
15313
|
</div>
|
|
15594
15314
|
|
|
@@ -15605,7 +15325,7 @@ and return them grouped by app.</p>
|
|
|
15605
15325
|
|
|
15606
15326
|
<div class="doc doc-contents ">
|
|
15607
15327
|
|
|
15608
|
-
|
|
15328
|
+
<p>Return the Global namespace.</p>
|
|
15609
15329
|
|
|
15610
15330
|
</div>
|
|
15611
15331
|
|
|
@@ -15622,7 +15342,7 @@ and return them grouped by app.</p>
|
|
|
15622
15342
|
|
|
15623
15343
|
<div class="doc doc-contents ">
|
|
15624
15344
|
|
|
15625
|
-
|
|
15345
|
+
<p>Return the PK of the Global namespace for use in default value for foreign keys.</p>
|
|
15626
15346
|
|
|
15627
15347
|
</div>
|
|
15628
15348
|
|
|
@@ -15639,7 +15359,7 @@ and return them grouped by app.</p>
|
|
|
15639
15359
|
|
|
15640
15360
|
<div class="doc doc-contents ">
|
|
15641
15361
|
|
|
15642
|
-
|
|
15362
|
+
<p>Return True if the instance can have Tags assigned to it; False otherwise.</p>
|
|
15643
15363
|
|
|
15644
15364
|
</div>
|
|
15645
15365
|
|
|
@@ -15656,7 +15376,7 @@ and return them grouped by app.</p>
|
|
|
15656
15376
|
|
|
15657
15377
|
<div class="doc doc-contents ">
|
|
15658
15378
|
|
|
15659
|
-
|
|
15379
|
+
<p>Take an alphanumeric string and prepend all integers to <code>integer_places</code> places to ensure the strings
|
|
15660
15380
|
are ordered naturally. For example:</p>
|
|
15661
15381
|
<div class="highlight"><pre><span></span><code>location9router21
|
|
15662
15382
|
location10router4
|
|
@@ -15686,7 +15406,7 @@ location00000010router00000019
|
|
|
15686
15406
|
|
|
15687
15407
|
<div class="doc doc-contents ">
|
|
15688
15408
|
|
|
15689
|
-
|
|
15409
|
+
<p>Similar in nature to naturalize(), but takes into account a particular naming format adapted from the old
|
|
15690
15410
|
InterfaceManager.</p>
|
|
15691
15411
|
<p>:param value: The value to be naturalized
|
|
15692
15412
|
:param max_length: The maximum length of the returned string. Characters beyond this length will be stripped.</p>
|
|
@@ -15706,7 +15426,7 @@ InterfaceManager.</p>
|
|
|
15706
15426
|
|
|
15707
15427
|
<div class="doc doc-contents ">
|
|
15708
15428
|
|
|
15709
|
-
|
|
15429
|
+
<p>Given a <code>Q</code> object, display it in a more human-readable format.</p>
|
|
15710
15430
|
|
|
15711
15431
|
|
|
15712
15432
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15721,11 +15441,9 @@ InterfaceManager.</p>
|
|
|
15721
15441
|
</thead>
|
|
15722
15442
|
<tbody>
|
|
15723
15443
|
<tr class="doc-section-item">
|
|
15444
|
+
<td><code>query</code></td>
|
|
15724
15445
|
<td>
|
|
15725
|
-
|
|
15726
|
-
</td>
|
|
15727
|
-
<td>
|
|
15728
|
-
<code>Q</code>
|
|
15446
|
+
<code><autoref identifier="Q" optional>Q</autoref></code>
|
|
15729
15447
|
</td>
|
|
15730
15448
|
<td>
|
|
15731
15449
|
<div class="doc-md-description">
|
|
@@ -15751,7 +15469,7 @@ InterfaceManager.</p>
|
|
|
15751
15469
|
<tbody>
|
|
15752
15470
|
<tr class="doc-section-item">
|
|
15753
15471
|
<td>
|
|
15754
|
-
<code>str</code>
|
|
15472
|
+
<code><autoref identifier="str" optional>str</autoref></code>
|
|
15755
15473
|
</td>
|
|
15756
15474
|
<td>
|
|
15757
15475
|
<div class="doc-md-description">
|
|
@@ -15797,7 +15515,7 @@ InterfaceManager.</p>
|
|
|
15797
15515
|
|
|
15798
15516
|
<div class="doc doc-contents ">
|
|
15799
15517
|
|
|
15800
|
-
|
|
15518
|
+
<p>Return a generic JSON representation of an object using Django's built-in serializer. (This is used for things like
|
|
15801
15519
|
change logging, not the REST API.) Optionally include a dictionary to supplement the object data. A list of keys
|
|
15802
15520
|
can be provided to exclude them from the returned dictionary. Private fields (prefaced with an underscore) are
|
|
15803
15521
|
implicitly excluded.</p>
|
|
@@ -15817,7 +15535,7 @@ implicitly excluded.</p>
|
|
|
15817
15535
|
|
|
15818
15536
|
<div class="doc doc-contents ">
|
|
15819
15537
|
|
|
15820
|
-
|
|
15538
|
+
<p>Return a JSON serialized representation of an object using obj's serializer.</p>
|
|
15821
15539
|
|
|
15822
15540
|
</div>
|
|
15823
15541
|
|
|
@@ -15834,7 +15552,7 @@ implicitly excluded.</p>
|
|
|
15834
15552
|
|
|
15835
15553
|
<div class="doc doc-contents ">
|
|
15836
15554
|
|
|
15837
|
-
|
|
15555
|
+
<p>Custom slugify_function - use underscores instead of dashes; resulting slug can be used as a variable name,
|
|
15838
15556
|
as well as a graphql safe string.
|
|
15839
15557
|
Note: If content starts with a non graphql-safe character, e.g. a digit
|
|
15840
15558
|
This method will prepend an "a" to content to make it graphql-safe
|
|
@@ -15856,7 +15574,7 @@ e.g:
|
|
|
15856
15574
|
|
|
15857
15575
|
<div class="doc doc-contents ">
|
|
15858
15576
|
|
|
15859
|
-
|
|
15577
|
+
<p>Custom slugify_function - convert '.' to '-' instead of removing dots outright.</p>
|
|
15860
15578
|
|
|
15861
15579
|
</div>
|
|
15862
15580
|
|
|
@@ -16015,7 +15733,7 @@ e.g:
|
|
|
16015
15733
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
16016
15734
|
|
|
16017
15735
|
|
|
16018
|
-
<script src="../../../assets/javascripts/bundle.
|
|
15736
|
+
<script src="../../../assets/javascripts/bundle.83f73b43.min.js"></script>
|
|
16019
15737
|
|
|
16020
15738
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
16021
15739
|
|