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