nautobot 2.4.0b1__py3-none-any.whl → 2.4.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -8
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/events.py +3 -3
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +2 -2
- nautobot/apps/utils.py +7 -7
- nautobot/apps/views.py +7 -7
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/tables.py +2 -1
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/tests/integration/test_circuits_bulk_operations.py +43 -0
- nautobot/circuits/tests/integration/test_relationships.py +1 -1
- nautobot/circuits/views.py +3 -3
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/models.py +1 -1
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/fields.py +5 -5
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +40 -34
- nautobot/core/api/views.py +56 -4
- nautobot/core/apps/__init__.py +0 -5
- nautobot/core/celery/log.py +4 -4
- nautobot/core/celery/schedulers.py +2 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/events/__init__.py +3 -3
- nautobot/core/filters.py +67 -35
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +14 -11
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +285 -0
- nautobot/core/jobs/cleanup.py +48 -12
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/models/__init__.py +3 -1
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +6 -3
- nautobot/core/settings.py +29 -2
- nautobot/core/settings.yaml +21 -0
- nautobot/core/tables.py +79 -61
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/generic/object_bulk_destroy.html +1 -1
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/inc/nav_menu.html +1 -0
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/search.html +7 -0
- nautobot/core/templates/utilities/render_jinja2.html +1 -1
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +11 -2
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +170 -15
- nautobot/core/testing/filters.py +45 -10
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/integration.py +514 -5
- nautobot/core/testing/mixins.py +7 -2
- nautobot/core/testing/views.py +44 -29
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +1 -0
- nautobot/core/tests/runner.py +1 -1
- nautobot/core/tests/test_api.py +98 -1
- nautobot/core/tests/test_csv.py +25 -3
- nautobot/core/tests/test_filters.py +209 -246
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jobs.py +492 -1
- nautobot/core/tests/test_models.py +9 -0
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_utils.py +63 -1
- nautobot/core/tests/test_views.py +30 -3
- nautobot/core/ui/nav.py +1 -0
- nautobot/core/ui/object_detail.py +15 -1
- nautobot/core/urls.py +11 -0
- nautobot/core/utils/git.py +7 -2
- nautobot/core/utils/lookup.py +11 -8
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +42 -0
- nautobot/core/views/generic.py +131 -197
- nautobot/core/views/mixins.py +136 -41
- nautobot/core/views/renderers.py +6 -6
- nautobot/core/views/utils.py +2 -2
- nautobot/dcim/api/serializers.py +56 -64
- nautobot/dcim/api/views.py +47 -113
- nautobot/dcim/constants.py +6 -13
- nautobot/dcim/factory.py +6 -1
- nautobot/dcim/filters/__init__.py +31 -2
- nautobot/dcim/forms.py +48 -17
- nautobot/dcim/graphql/types.py +2 -2
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +1 -1
- nautobot/dcim/models/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +10 -1
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +4 -4
- nautobot/dcim/tables/__init__.py +3 -3
- nautobot/dcim/tables/devices.py +9 -6
- nautobot/dcim/tables/devicetypes.py +2 -2
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/cable.html +1 -1
- nautobot/dcim/templates/dcim/controller_create.html +1 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
- nautobot/dcim/templates/dcim/device/base.html +1 -1
- nautobot/dcim/templates/dcim/device.html +3 -11
- nautobot/dcim/templates/dcim/device_component.html +1 -1
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/devicetype.html +1 -1
- nautobot/dcim/templates/dcim/location.html +2 -10
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/locationtype.html +1 -1
- nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -1
- nautobot/dcim/templates/dcim/manufacturer.html +1 -1
- nautobot/dcim/templates/dcim/platform.html +1 -1
- nautobot/dcim/templates/dcim/powerfeed.html +1 -1
- nautobot/dcim/templates/dcim/powerpanel.html +1 -1
- nautobot/dcim/templates/dcim/rack.html +2 -10
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackgroup.html +1 -1
- nautobot/dcim/templates/dcim/rackreservation.html +3 -11
- nautobot/dcim/templates/dcim/virtualchassis.html +1 -1
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/integration/test_device_bulk_operations.py +30 -0
- nautobot/dcim/tests/integration/test_location_bulk_operations.py +43 -0
- nautobot/dcim/tests/test_api.py +16 -5
- nautobot/dcim/tests/test_filters.py +33 -0
- nautobot/dcim/tests/test_forms.py +51 -2
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +52 -9
- nautobot/dcim/tests/test_views.py +30 -84
- nautobot/dcim/views.py +13 -28
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +123 -85
- nautobot/extras/api/views.py +33 -30
- nautobot/extras/constants.py +3 -0
- nautobot/extras/datasources/git.py +125 -0
- nautobot/extras/filters/__init__.py +8 -6
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +139 -31
- nautobot/extras/forms/mixins.py +14 -6
- nautobot/extras/group_sync.py +3 -3
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +85 -18
- nautobot/extras/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/migrations/0122_add_graphqlquery_owner_content_type.py +34 -0
- nautobot/extras/models/__init__.py +1 -1
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/customfields.py +41 -23
- nautobot/extras/models/datasources.py +85 -0
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +23 -4
- nautobot/extras/models/models.py +17 -2
- nautobot/extras/models/relationships.py +17 -5
- nautobot/extras/plugins/__init__.py +13 -2
- nautobot/extras/plugins/marketplace_manifest.yml +84 -79
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/views.py +65 -69
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +15 -1
- nautobot/extras/tables.py +7 -5
- nautobot/extras/templates/extras/computedfield.html +1 -1
- nautobot/extras/templates/extras/configcontext.html +1 -1
- nautobot/extras/templates/extras/configcontextschema.html +1 -1
- nautobot/extras/templates/extras/customfield.html +1 -1
- nautobot/extras/templates/extras/customlink.html +1 -1
- nautobot/extras/templates/extras/dynamicgroup.html +2 -10
- nautobot/extras/templates/extras/exporttemplate.html +1 -1
- nautobot/extras/templates/extras/gitrepository.html +1 -1
- nautobot/extras/templates/extras/graphqlquery.html +1 -1
- nautobot/extras/templates/extras/job_detail.html +17 -1
- nautobot/extras/templates/extras/job_edit.html +1 -0
- nautobot/extras/templates/extras/jobbutton_retrieve.html +1 -1
- nautobot/extras/templates/extras/jobhook.html +1 -1
- nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
- nautobot/extras/templates/extras/jobresult.html +1 -1
- nautobot/extras/templates/extras/marketplace.html +29 -11
- nautobot/extras/templates/extras/objectchange.html +1 -1
- nautobot/extras/templates/extras/plugin_detail.html +33 -16
- nautobot/extras/templates/extras/plugins_tiles.html +21 -10
- nautobot/extras/templates/extras/relationship.html +1 -63
- nautobot/extras/templates/extras/role_retrieve.html +1 -1
- nautobot/extras/templates/extras/scheduledjob.html +1 -1
- nautobot/extras/templates/extras/secret.html +1 -1
- nautobot/extras/templates/extras/secretsgroup.html +1 -1
- nautobot/extras/templates/extras/status.html +1 -1
- nautobot/extras/templates/extras/tag.html +1 -1
- nautobot/extras/templates/extras/webhook.html +1 -1
- nautobot/extras/templatetags/job_buttons.py +4 -4
- nautobot/extras/test_jobs/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_interfaces.gql +8 -0
- nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_names.gql +5 -0
- nautobot/extras/tests/git_data/02-invalid-files/graphql_queries/bad_device_names.gql +5 -0
- nautobot/extras/tests/git_helper.py +9 -1
- nautobot/extras/tests/integration/__init__.py +29 -16
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +19 -13
- nautobot/extras/tests/test_customfields.py +50 -52
- nautobot/extras/tests/test_datasources.py +29 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +6 -6
- nautobot/extras/tests/test_forms.py +33 -1
- nautobot/extras/tests/test_jobs.py +178 -32
- nautobot/extras/tests/test_models.py +299 -10
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +120 -9
- nautobot/extras/tests/test_utils.py +22 -1
- nautobot/extras/tests/test_views.py +56 -194
- nautobot/extras/utils.py +20 -10
- nautobot/extras/views.py +85 -110
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +41 -33
- nautobot/ipam/api/views.py +68 -117
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/lookups.py +101 -62
- nautobot/ipam/models.py +74 -18
- nautobot/ipam/querysets.py +2 -2
- nautobot/ipam/tables.py +25 -9
- nautobot/ipam/templates/ipam/ipaddress.html +2 -10
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +2 -10
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/rir.html +1 -1
- nautobot/ipam/templates/ipam/routetarget.html +1 -1
- nautobot/ipam/templates/ipam/service.html +1 -1
- nautobot/ipam/templates/ipam/vlan.html +2 -10
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vlangroup.html +1 -1
- nautobot/ipam/templates/ipam/vrf.html +1 -1
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +436 -3
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +119 -34
- nautobot/ipam/tests/test_querysets.py +63 -1
- nautobot/ipam/tests/test_utils.py +41 -2
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/utils/__init__.py +54 -17
- nautobot/ipam/views.py +61 -87
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/docs/404.html +131 -14
- nautobot/project-static/docs/apps/index.html +131 -14
- nautobot/project-static/docs/apps/nautobot-apps.html +132 -16
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.60a45f97.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.60a45f97.min.js.map} +2 -2
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js → search.f8cc74c7.min.js} +1 -1
- nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js.map → search.f8cc74c7.min.js.map} +1 -1
- nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css → main.a40c8224.min.css} +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +147 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +459 -132
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +175 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +180 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +138 -16
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +137 -15
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +164 -27
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +187 -38
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +193 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +216 -48
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +324 -75
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +666 -175
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +194 -46
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +538 -177
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +578 -221
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +145 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +156 -25
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +492 -65
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +705 -215
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +943 -422
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +144 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +619 -200
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +474 -159
- nautobot/project-static/docs/development/apps/api/configuration-view.html +131 -14
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/global-search.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/graphql.html +131 -14
- nautobot/project-static/docs/development/apps/api/models/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +131 -14
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +153 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +131 -14
- nautobot/project-static/docs/development/apps/api/prometheus.html +131 -14
- nautobot/project-static/docs/development/apps/api/setup.html +131 -14
- nautobot/project-static/docs/development/apps/api/testing.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +131 -14
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/base-template.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/index.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/notes.html +131 -14
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +137 -16
- nautobot/project-static/docs/development/apps/api/views/urls.html +131 -14
- nautobot/project-static/docs/development/apps/index.html +131 -14
- nautobot/project-static/docs/development/apps/migration/code-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +131 -14
- nautobot/project-static/docs/development/apps/migration/from-v1.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +131 -14
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +135 -18
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +131 -14
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +297 -25
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +131 -14
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +131 -14
- nautobot/project-static/docs/development/core/application-registry.html +131 -14
- nautobot/project-static/docs/development/core/best-practices.html +131 -14
- nautobot/project-static/docs/development/core/bootstrap-ui.html +131 -14
- nautobot/project-static/docs/development/core/caching.html +131 -14
- nautobot/project-static/docs/development/core/controllers.html +131 -14
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +158 -84
- nautobot/project-static/docs/development/core/generic-views.html +131 -14
- nautobot/project-static/docs/development/core/getting-started.html +334 -234
- nautobot/project-static/docs/development/core/homepage.html +134 -17
- nautobot/project-static/docs/development/core/index.html +131 -14
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9829 -0
- nautobot/project-static/docs/development/core/model-checklist.html +141 -22
- nautobot/project-static/docs/development/core/model-features.html +131 -14
- nautobot/project-static/docs/development/core/natural-keys.html +131 -14
- nautobot/project-static/docs/development/core/navigation-menu.html +131 -14
- nautobot/project-static/docs/development/core/release-checklist.html +134 -17
- nautobot/project-static/docs/development/core/role-internals.html +131 -14
- nautobot/project-static/docs/development/core/settings.html +131 -14
- nautobot/project-static/docs/development/core/style-guide.html +134 -17
- nautobot/project-static/docs/development/core/templates.html +132 -15
- nautobot/project-static/docs/development/core/testing.html +131 -14
- nautobot/project-static/docs/development/core/ui-component-framework.html +454 -283
- nautobot/project-static/docs/development/core/user-preferences.html +131 -14
- nautobot/project-static/docs/development/index.html +131 -14
- nautobot/project-static/docs/development/jobs/index.html +301 -132
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +131 -14
- nautobot/project-static/docs/index.html +139 -33
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +132 -17
- nautobot/project-static/docs/overview/design_philosophy.html +131 -14
- nautobot/project-static/docs/release-notes/index.html +137 -22
- nautobot/project-static/docs/release-notes/version-1.0.html +319 -203
- nautobot/project-static/docs/release-notes/version-1.1.html +316 -200
- nautobot/project-static/docs/release-notes/version-1.2.html +391 -275
- nautobot/project-static/docs/release-notes/version-1.3.html +417 -301
- nautobot/project-static/docs/release-notes/version-1.4.html +502 -387
- nautobot/project-static/docs/release-notes/version-1.5.html +690 -576
- nautobot/project-static/docs/release-notes/version-1.6.html +989 -457
- nautobot/project-static/docs/release-notes/version-2.0.html +613 -499
- nautobot/project-static/docs/release-notes/version-2.1.html +448 -334
- nautobot/project-static/docs/release-notes/version-2.2.html +441 -327
- nautobot/project-static/docs/release-notes/version-2.3.html +1171 -451
- nautobot/project-static/docs/release-notes/version-2.4.html +800 -111
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +303 -287
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +133 -16
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +131 -14
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +195 -18
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +134 -17
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +131 -14
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +133 -16
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +151 -18
- nautobot/project-static/docs/user-guide/administration/installation/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +132 -15
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +131 -14
- nautobot/project-static/docs/user-guide/administration/installation/services.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +131 -14
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +131 -14
- nautobot/project-static/docs/user-guide/administration/security/index.html +9420 -0
- nautobot/project-static/docs/user-guide/administration/security/notices.html +9843 -0
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +131 -14
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +134 -18
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +131 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +135 -22
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +134 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +131 -14
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +134 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +236 -34
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +131 -14
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +134 -17
- nautobot/project-static/docs/{development/core/local-k8s.html → user-guide/feature-guides/wireless-networks-and-controllers.html} +632 -566
- nautobot/project-static/docs/user-guide/index.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +135 -18
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +451 -16
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +135 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +134 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9797 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +132 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +179 -35
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +159 -15
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +131 -14
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +131 -14
- nautobot/project-static/js/forms.js +1 -1
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/templates/tenancy/tenant.html +1 -2
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/views.py +4 -2
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +5 -4
- nautobot/users/api/views.py +3 -3
- nautobot/virtualization/api/serializers.py +4 -4
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +20 -3
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster.html +1 -1
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/clustergroup.html +1 -1
- nautobot/virtualization/templates/virtualization/clustertype.html +1 -1
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -10
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/templates/virtualization/vminterface.html +1 -1
- nautobot/virtualization/tests/test_filters.py +17 -0
- nautobot/wireless/filters.py +2 -2
- nautobot/wireless/forms.py +1 -1
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_filters.py +29 -1
- nautobot/wireless/tests/test_views.py +22 -1
- nautobot/wireless/views.py +0 -10
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/METADATA +9 -9
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/RECORD +667 -610
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- /nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css.map → main.a40c8224.min.css.map} +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/NOTICE +0 -0
- {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.50">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.a40c8224.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
41
|
+
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1"/></svg>');}</style>
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
218
218
|
<div class="md-source__icon md-icon">
|
|
219
219
|
|
|
220
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
220
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
221
221
|
</div>
|
|
222
222
|
<div class="md-source__repository">
|
|
223
223
|
GitHub
|
|
@@ -377,7 +377,7 @@
|
|
|
377
377
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
378
378
|
<div class="md-source__icon md-icon">
|
|
379
379
|
|
|
380
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
380
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
|
|
381
381
|
</div>
|
|
382
382
|
<div class="md-source__repository">
|
|
383
383
|
GitHub
|
|
@@ -1697,6 +1697,81 @@
|
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
|
|
1709
|
+
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
|
|
1721
|
+
<div class="md-nav__link md-nav__container">
|
|
1722
|
+
<a href="../../../user-guide/administration/security/index.html" class="md-nav__link ">
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
<span class="md-ellipsis">
|
|
1726
|
+
Security
|
|
1727
|
+
</span>
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
</a>
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
<label class="md-nav__link " for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
|
|
1734
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1735
|
+
</label>
|
|
1736
|
+
|
|
1737
|
+
</div>
|
|
1738
|
+
|
|
1739
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
|
|
1740
|
+
<label class="md-nav__title" for="__nav_2_1_7">
|
|
1741
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1742
|
+
Security
|
|
1743
|
+
</label>
|
|
1744
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
<li class="md-nav__item">
|
|
1753
|
+
<a href="../../../user-guide/administration/security/notices.html" class="md-nav__link">
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
<span class="md-ellipsis">
|
|
1757
|
+
Notices
|
|
1758
|
+
</span>
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
</a>
|
|
1762
|
+
</li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
</ul>
|
|
1768
|
+
</nav>
|
|
1769
|
+
|
|
1770
|
+
</li>
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1700
1775
|
</ul>
|
|
1701
1776
|
</nav>
|
|
1702
1777
|
|
|
@@ -2112,6 +2187,27 @@
|
|
|
2112
2187
|
|
|
2113
2188
|
|
|
2114
2189
|
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
|
|
2195
|
+
|
|
2196
|
+
<li class="md-nav__item">
|
|
2197
|
+
<a href="../../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2198
|
+
|
|
2199
|
+
|
|
2200
|
+
<span class="md-ellipsis">
|
|
2201
|
+
Wireless Networks and Controllers
|
|
2202
|
+
</span>
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
</a>
|
|
2206
|
+
</li>
|
|
2207
|
+
|
|
2208
|
+
|
|
2209
|
+
|
|
2210
|
+
|
|
2115
2211
|
</ul>
|
|
2116
2212
|
</nav>
|
|
2117
2213
|
|
|
@@ -5131,6 +5227,27 @@
|
|
|
5131
5227
|
|
|
5132
5228
|
|
|
5133
5229
|
|
|
5230
|
+
<li class="md-nav__item">
|
|
5231
|
+
<a href="../../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5232
|
+
|
|
5233
|
+
|
|
5234
|
+
<span class="md-ellipsis">
|
|
5235
|
+
Kubernetes Job Support
|
|
5236
|
+
</span>
|
|
5237
|
+
|
|
5238
|
+
|
|
5239
|
+
</a>
|
|
5240
|
+
</li>
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
|
|
5244
|
+
|
|
5245
|
+
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
|
|
5249
|
+
|
|
5250
|
+
|
|
5134
5251
|
<li class="md-nav__item">
|
|
5135
5252
|
<a href="../../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
5136
5253
|
|
|
@@ -9382,11 +9499,11 @@
|
|
|
9382
9499
|
|
|
9383
9500
|
|
|
9384
9501
|
<li class="md-nav__item">
|
|
9385
|
-
<a href="../../../development/core/
|
|
9502
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
9386
9503
|
|
|
9387
9504
|
|
|
9388
9505
|
<span class="md-ellipsis">
|
|
9389
|
-
|
|
9506
|
+
Minikube Dev Environment for K8s Jobs
|
|
9390
9507
|
</span>
|
|
9391
9508
|
|
|
9392
9509
|
|
|
@@ -11610,7 +11727,12 @@
|
|
|
11610
11727
|
|
|
11611
11728
|
<div class="doc doc-contents first">
|
|
11612
11729
|
|
|
11613
|
-
|
|
11730
|
+
<p>Data model classes and utilities for app implementation.</p>
|
|
11731
|
+
|
|
11732
|
+
|
|
11733
|
+
|
|
11734
|
+
|
|
11735
|
+
|
|
11614
11736
|
|
|
11615
11737
|
|
|
11616
11738
|
|
|
@@ -11636,10 +11758,10 @@
|
|
|
11636
11758
|
|
|
11637
11759
|
<div class="doc doc-contents ">
|
|
11638
11760
|
<p class="doc doc-class-bases">
|
|
11639
|
-
Bases: <code><
|
|
11761
|
+
Bases: <code><span title="django_extensions.db.fields.AutoSlugField">AutoSlugField</span></code></p>
|
|
11640
11762
|
|
|
11641
11763
|
|
|
11642
|
-
|
|
11764
|
+
<p>AutoSlugField</p>
|
|
11643
11765
|
<p>By default, sets editable=True, blank=True, max_length=100, overwrite_on_add=False, unique=True
|
|
11644
11766
|
Required arguments:
|
|
11645
11767
|
populate_from
|
|
@@ -11681,6 +11803,11 @@ class MyModel(models.Model):
|
|
|
11681
11803
|
|
|
11682
11804
|
|
|
11683
11805
|
|
|
11806
|
+
|
|
11807
|
+
|
|
11808
|
+
|
|
11809
|
+
|
|
11810
|
+
|
|
11684
11811
|
<div class="doc doc-children">
|
|
11685
11812
|
|
|
11686
11813
|
|
|
@@ -11702,7 +11829,7 @@ class MyModel(models.Model):
|
|
|
11702
11829
|
|
|
11703
11830
|
<div class="doc doc-contents ">
|
|
11704
11831
|
|
|
11705
|
-
|
|
11832
|
+
<p>Workaround for https://github.com/django-extensions/django-extensions/issues/1713.</p>
|
|
11706
11833
|
|
|
11707
11834
|
</div>
|
|
11708
11835
|
|
|
@@ -11729,15 +11856,20 @@ class MyModel(models.Model):
|
|
|
11729
11856
|
|
|
11730
11857
|
<div class="doc doc-contents ">
|
|
11731
11858
|
<p class="doc doc-class-bases">
|
|
11732
|
-
Bases: <code><
|
|
11859
|
+
Bases: <code><span title="django.db.models.Manager">Manager</span></code></p>
|
|
11733
11860
|
|
|
11734
11861
|
|
|
11735
|
-
|
|
11862
|
+
<p>Base manager class corresponding to BaseModel and RestrictedQuerySet.</p>
|
|
11736
11863
|
<p>Adds built-in natural key support, loosely based on <code>django-natural-keys</code>.</p>
|
|
11737
11864
|
|
|
11738
11865
|
|
|
11739
11866
|
|
|
11740
11867
|
|
|
11868
|
+
|
|
11869
|
+
|
|
11870
|
+
|
|
11871
|
+
|
|
11872
|
+
|
|
11741
11873
|
<div class="doc doc-children">
|
|
11742
11874
|
|
|
11743
11875
|
|
|
@@ -11759,7 +11891,7 @@ class MyModel(models.Model):
|
|
|
11759
11891
|
|
|
11760
11892
|
<div class="doc doc-contents ">
|
|
11761
11893
|
|
|
11762
|
-
|
|
11894
|
+
<p>Return the object corresponding to the provided natural key.</p>
|
|
11763
11895
|
<p>Generic implementation that depends on the model being a BaseModel subclass or otherwise implementing our
|
|
11764
11896
|
<code>natural_key_field_lookups</code> property API. Loosely based on implementation from <code>django-natural-keys</code>.</p>
|
|
11765
11897
|
|
|
@@ -11788,10 +11920,10 @@ class MyModel(models.Model):
|
|
|
11788
11920
|
|
|
11789
11921
|
<div class="doc doc-contents ">
|
|
11790
11922
|
<p class="doc doc-class-bases">
|
|
11791
|
-
Bases: <code><
|
|
11923
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
11792
11924
|
|
|
11793
11925
|
|
|
11794
|
-
|
|
11926
|
+
<p>Base model class that all models should inherit from.</p>
|
|
11795
11927
|
<p>This abstract base provides globally common fields and functionality.</p>
|
|
11796
11928
|
<p>Here we define the primary key to be a UUID field and set its default to
|
|
11797
11929
|
automatically generate a random UUID value. Note however, this does not
|
|
@@ -11807,6 +11939,11 @@ can be used for the same purpose in most cases.</p>
|
|
|
11807
11939
|
|
|
11808
11940
|
|
|
11809
11941
|
|
|
11942
|
+
|
|
11943
|
+
|
|
11944
|
+
|
|
11945
|
+
|
|
11946
|
+
|
|
11810
11947
|
<div class="doc doc-children">
|
|
11811
11948
|
|
|
11812
11949
|
|
|
@@ -11820,7 +11957,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11820
11957
|
|
|
11821
11958
|
|
|
11822
11959
|
<h3 id="nautobot.apps.models.BaseModel.composite_key" class="doc doc-heading">
|
|
11823
|
-
<code class="highlight language-python"><span class="n">composite_key</span
|
|
11960
|
+
<code class="highlight language-python"><span class="n">composite_key</span></code>
|
|
11824
11961
|
|
|
11825
11962
|
<span class="doc doc-labels">
|
|
11826
11963
|
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
|
@@ -11831,7 +11968,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11831
11968
|
|
|
11832
11969
|
<div class="doc doc-contents ">
|
|
11833
11970
|
|
|
11834
|
-
|
|
11971
|
+
<p>Automatic "slug" string derived from this model's natural key, suitable for use in URLs etc.</p>
|
|
11835
11972
|
<p>A less naïve implementation than django-natural-keys provides by default, based around URL percent-encoding.</p>
|
|
11836
11973
|
</div>
|
|
11837
11974
|
|
|
@@ -11842,7 +11979,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11842
11979
|
|
|
11843
11980
|
|
|
11844
11981
|
<h3 id="nautobot.apps.models.BaseModel.natural_slug" class="doc doc-heading">
|
|
11845
|
-
<code class="highlight language-python"><span class="n">natural_slug</span
|
|
11982
|
+
<code class="highlight language-python"><span class="n">natural_slug</span></code>
|
|
11846
11983
|
|
|
11847
11984
|
<span class="doc doc-labels">
|
|
11848
11985
|
<small class="doc doc-label doc-label-property"><code>property</code></small>
|
|
@@ -11853,7 +11990,7 @@ can be used for the same purpose in most cases.</p>
|
|
|
11853
11990
|
|
|
11854
11991
|
<div class="doc doc-contents ">
|
|
11855
11992
|
|
|
11856
|
-
|
|
11993
|
+
<p>Automatic "slug" string derived from this model's natural key. This differs from composite
|
|
11857
11994
|
key in that it must be human-readable and comply with a very limited character set, and is therefore lossy.
|
|
11858
11995
|
This value is not guaranteed to be
|
|
11859
11996
|
unique although a best effort is made by appending a fragment of the primary key to the
|
|
@@ -11878,7 +12015,7 @@ natural slug value.</p>
|
|
|
11878
12015
|
|
|
11879
12016
|
<div class="doc doc-contents ">
|
|
11880
12017
|
|
|
11881
|
-
|
|
12018
|
+
<p>True if the record exists in the database, False if it does not.</p>
|
|
11882
12019
|
</div>
|
|
11883
12020
|
|
|
11884
12021
|
</div>
|
|
@@ -11900,7 +12037,7 @@ natural slug value.</p>
|
|
|
11900
12037
|
|
|
11901
12038
|
<div class="doc doc-contents ">
|
|
11902
12039
|
|
|
11903
|
-
|
|
12040
|
+
<p>Override this method for models with Python <code>@property</code> as part of their <code>natural_key_field_names</code>.</p>
|
|
11904
12041
|
<p>Since CSV export for <code>natural_key_field_names</code> relies on database fields, you can override this method
|
|
11905
12042
|
to provide custom handling for models with property-based natural keys.</p>
|
|
11906
12043
|
|
|
@@ -11919,7 +12056,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11919
12056
|
|
|
11920
12057
|
<div class="doc doc-contents ">
|
|
11921
12058
|
|
|
11922
|
-
|
|
12059
|
+
<p>Return the canonical URL for this object in either the UI or the REST API.</p>
|
|
11923
12060
|
|
|
11924
12061
|
</div>
|
|
11925
12062
|
|
|
@@ -11936,7 +12073,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11936
12073
|
|
|
11937
12074
|
<div class="doc doc-contents ">
|
|
11938
12075
|
|
|
11939
|
-
|
|
12076
|
+
<p>Smarter default implementation of natural key construction.</p>
|
|
11940
12077
|
<ol>
|
|
11941
12078
|
<li>Handles nullable foreign keys (https://github.com/wq/django-natural-keys/issues/18)</li>
|
|
11942
12079
|
<li>Handles variadic natural-keys (e.g. Location model - [name, parent__name, parent__parent__name, ...].)</li>
|
|
@@ -11961,7 +12098,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11961
12098
|
|
|
11962
12099
|
<div class="doc doc-contents ">
|
|
11963
12100
|
|
|
11964
|
-
|
|
12101
|
+
<p>Helper function to map a list of natural key field values to actual kwargs suitable for lookup and filtering.</p>
|
|
11965
12102
|
<p>Based on <code>django-natural-keys</code> <code>NaturalKeyQuerySet.natural_key_kwargs()</code> method.</p>
|
|
11966
12103
|
|
|
11967
12104
|
</div>
|
|
@@ -11979,7 +12116,7 @@ to provide custom handling for models with property-based natural keys.</p>
|
|
|
11979
12116
|
|
|
11980
12117
|
<div class="doc doc-contents ">
|
|
11981
12118
|
|
|
11982
|
-
|
|
12119
|
+
<p>List of lookups (possibly including nested lookups for related models) that make up this model's natural key.</p>
|
|
11983
12120
|
<p>BaseModel provides a "smart" implementation that tries to determine this automatically,
|
|
11984
12121
|
but you can also explicitly set <code>natural_key_field_names</code> on a given model subclass if desired.</p>
|
|
11985
12122
|
<p>This property is based on a consolidation of <code>django-natural-keys</code> <code>ForeignKeyModel.get_natural_key_info()</code>,
|
|
@@ -12002,7 +12139,7 @@ but instead explicitly discounts the <code>id</code> field (only) as a candidate
|
|
|
12002
12139
|
|
|
12003
12140
|
<div class="doc doc-contents ">
|
|
12004
12141
|
|
|
12005
|
-
|
|
12142
|
+
<p>Perform model validation during instance save.</p>
|
|
12006
12143
|
<p>This is a convenience method that first calls <code>self.full_clean()</code> and then <code>self.save()</code>
|
|
12007
12144
|
which in effect enforces model validation prior to saving the instance, without having
|
|
12008
12145
|
to manually make these calls seperately. This is a slight departure from Django norms,
|
|
@@ -12035,15 +12172,20 @@ command.</p>
|
|
|
12035
12172
|
|
|
12036
12173
|
<div class="doc doc-contents ">
|
|
12037
12174
|
<p class="doc doc-class-bases">
|
|
12038
|
-
Bases: <code><
|
|
12175
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
12039
12176
|
|
|
12040
12177
|
|
|
12041
|
-
|
|
12178
|
+
<p>An abstract model which adds fields to store the creation and last-updated times for an object. Both fields can be
|
|
12042
12179
|
null to facilitate adding these fields to existing instances via a database migration.</p>
|
|
12043
12180
|
|
|
12044
12181
|
|
|
12045
12182
|
|
|
12046
12183
|
|
|
12184
|
+
|
|
12185
|
+
|
|
12186
|
+
|
|
12187
|
+
|
|
12188
|
+
|
|
12047
12189
|
<div class="doc doc-children">
|
|
12048
12190
|
|
|
12049
12191
|
|
|
@@ -12065,7 +12207,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12065
12207
|
|
|
12066
12208
|
<div class="doc doc-contents ">
|
|
12067
12209
|
|
|
12068
|
-
|
|
12210
|
+
<p>Return the changelog URL for this object.</p>
|
|
12069
12211
|
|
|
12070
12212
|
</div>
|
|
12071
12213
|
|
|
@@ -12082,7 +12224,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12082
12224
|
|
|
12083
12225
|
<div class="doc doc-contents ">
|
|
12084
12226
|
|
|
12085
|
-
|
|
12227
|
+
<p>Return a new ObjectChange representing a change made to this object, or None if the object shouldn't be logged.</p>
|
|
12086
12228
|
<p>This will typically be called automatically by ChangeLoggingMiddleware.</p>
|
|
12087
12229
|
|
|
12088
12230
|
</div>
|
|
@@ -12110,10 +12252,15 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12110
12252
|
|
|
12111
12253
|
<div class="doc doc-contents ">
|
|
12112
12254
|
<p class="doc doc-class-bases">
|
|
12113
|
-
Bases: <code><
|
|
12255
|
+
Bases: <code><span title="django.db.models.Func">Func</span></code></p>
|
|
12256
|
+
|
|
12257
|
+
|
|
12258
|
+
<p>Disregard localization by collating a field as a plain character string. Helpful for ensuring predictable ordering.</p>
|
|
12259
|
+
|
|
12260
|
+
|
|
12261
|
+
|
|
12114
12262
|
|
|
12115
12263
|
|
|
12116
|
-
<p>Disregard localization by collating a field as a plain character string. Helpful for ensuring predictable ordering.</p>
|
|
12117
12264
|
|
|
12118
12265
|
|
|
12119
12266
|
|
|
@@ -12150,7 +12297,7 @@ null to facilitate adding these fields to existing instances via a database migr
|
|
|
12150
12297
|
<div class="doc doc-contents ">
|
|
12151
12298
|
|
|
12152
12299
|
|
|
12153
|
-
|
|
12300
|
+
<p>Mixin to extend a base queryset class with support for filtering by <code>composite_key=...</code> as a virtual parameter.</p>
|
|
12154
12301
|
<p>Example:</p>
|
|
12155
12302
|
<div class="highlight"><pre><span></span><code>>>> Location.objects.last().composite_key
|
|
12156
12303
|
'Durham;AMER'
|
|
@@ -12188,6 +12335,11 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12188
12335
|
|
|
12189
12336
|
|
|
12190
12337
|
|
|
12338
|
+
|
|
12339
|
+
|
|
12340
|
+
|
|
12341
|
+
|
|
12342
|
+
|
|
12191
12343
|
<div class="doc doc-children">
|
|
12192
12344
|
|
|
12193
12345
|
|
|
@@ -12209,7 +12361,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12209
12361
|
|
|
12210
12362
|
<div class="doc doc-contents ">
|
|
12211
12363
|
|
|
12212
|
-
|
|
12364
|
+
<p>Explicitly handle <code>exclude(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
|
|
12213
12365
|
<p>Counterpart to BaseModel.composite_key property.</p>
|
|
12214
12366
|
|
|
12215
12367
|
</div>
|
|
@@ -12227,7 +12379,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12227
12379
|
|
|
12228
12380
|
<div class="doc doc-contents ">
|
|
12229
12381
|
|
|
12230
|
-
|
|
12382
|
+
<p>Explicitly handle <code>filter(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
|
|
12231
12383
|
<p>Counterpart to BaseModel.composite_key property.</p>
|
|
12232
12384
|
|
|
12233
12385
|
</div>
|
|
@@ -12245,7 +12397,7 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12245
12397
|
|
|
12246
12398
|
<div class="doc doc-contents ">
|
|
12247
12399
|
|
|
12248
|
-
|
|
12400
|
+
<p>Helper method abstracting a common need from filter() and exclude().</p>
|
|
12249
12401
|
<p>Subclasses may need to call this directly if they also have special processing of other filter/exclude params.</p>
|
|
12250
12402
|
|
|
12251
12403
|
</div>
|
|
@@ -12273,15 +12425,20 @@ ValueError: Conflicting values for key "name": ('Durham', '
|
|
|
12273
12425
|
|
|
12274
12426
|
<div class="doc doc-contents ">
|
|
12275
12427
|
<p class="doc doc-class-bases">
|
|
12276
|
-
Bases: <code><
|
|
12428
|
+
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
12429
|
|
|
12278
12430
|
|
|
12279
|
-
|
|
12431
|
+
<p>A model which includes local configuration context data. This local data will override any inherited data from
|
|
12280
12432
|
ConfigContexts.</p>
|
|
12281
12433
|
|
|
12282
12434
|
|
|
12283
12435
|
|
|
12284
12436
|
|
|
12437
|
+
|
|
12438
|
+
|
|
12439
|
+
|
|
12440
|
+
|
|
12441
|
+
|
|
12285
12442
|
<div class="doc doc-children">
|
|
12286
12443
|
|
|
12287
12444
|
|
|
@@ -12303,7 +12460,7 @@ ConfigContexts.</p>
|
|
|
12303
12460
|
|
|
12304
12461
|
<div class="doc doc-contents ">
|
|
12305
12462
|
|
|
12306
|
-
|
|
12463
|
+
<p>Return the rendered configuration context for a device or VM.</p>
|
|
12307
12464
|
|
|
12308
12465
|
</div>
|
|
12309
12466
|
|
|
@@ -12331,7 +12488,12 @@ ConfigContexts.</p>
|
|
|
12331
12488
|
<div class="doc doc-contents ">
|
|
12332
12489
|
|
|
12333
12490
|
|
|
12334
|
-
|
|
12491
|
+
<p>Mixin that provides validation of config context data against a json schema.</p>
|
|
12492
|
+
|
|
12493
|
+
|
|
12494
|
+
|
|
12495
|
+
|
|
12496
|
+
|
|
12335
12497
|
|
|
12336
12498
|
|
|
12337
12499
|
|
|
@@ -12367,10 +12529,15 @@ ConfigContexts.</p>
|
|
|
12367
12529
|
|
|
12368
12530
|
<div class="doc doc-contents ">
|
|
12369
12531
|
<p class="doc doc-class-bases">
|
|
12370
|
-
Bases: <code><
|
|
12532
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
12533
|
+
|
|
12534
|
+
|
|
12535
|
+
<p>Abstract mixin for enabling Contact/Team association to a given model class.</p>
|
|
12536
|
+
|
|
12537
|
+
|
|
12538
|
+
|
|
12371
12539
|
|
|
12372
12540
|
|
|
12373
|
-
<p>Abstract mixin for enabling Contact/Team association to a given model class.</p>
|
|
12374
12541
|
|
|
12375
12542
|
|
|
12376
12543
|
|
|
@@ -12406,7 +12573,12 @@ ConfigContexts.</p>
|
|
|
12406
12573
|
|
|
12407
12574
|
<div class="doc doc-contents ">
|
|
12408
12575
|
<p class="doc doc-class-bases">
|
|
12409
|
-
Bases: <code><
|
|
12576
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.querysets.RestrictedQuerySet" href="#nautobot.apps.models.RestrictedQuerySet">RestrictedQuerySet</a></code></p>
|
|
12577
|
+
|
|
12578
|
+
|
|
12579
|
+
|
|
12580
|
+
|
|
12581
|
+
|
|
12410
12582
|
|
|
12411
12583
|
|
|
12412
12584
|
|
|
@@ -12433,7 +12605,7 @@ ConfigContexts.</p>
|
|
|
12433
12605
|
|
|
12434
12606
|
<div class="doc doc-contents ">
|
|
12435
12607
|
|
|
12436
|
-
|
|
12608
|
+
<p>Return all <code>self.model</code> instances assigned to the given model.</p>
|
|
12437
12609
|
|
|
12438
12610
|
</div>
|
|
12439
12611
|
|
|
@@ -12450,7 +12622,7 @@ ConfigContexts.</p>
|
|
|
12450
12622
|
|
|
12451
12623
|
<div class="doc doc-contents ">
|
|
12452
12624
|
|
|
12453
|
-
|
|
12625
|
+
<p>Return all <code>self.model</code> instances assigned to the given <code>_models</code>.</p>
|
|
12454
12626
|
|
|
12455
12627
|
</div>
|
|
12456
12628
|
|
|
@@ -12477,10 +12649,15 @@ ConfigContexts.</p>
|
|
|
12477
12649
|
|
|
12478
12650
|
<div class="doc doc-contents ">
|
|
12479
12651
|
<p class="doc doc-class-bases">
|
|
12480
|
-
Bases: <code><
|
|
12652
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
12653
|
+
|
|
12654
|
+
|
|
12655
|
+
<p>Abstract class for any model which may have custom fields associated with it.</p>
|
|
12656
|
+
|
|
12657
|
+
|
|
12658
|
+
|
|
12481
12659
|
|
|
12482
12660
|
|
|
12483
|
-
<p>Abstract class for any model which may have custom fields associated with it.</p>
|
|
12484
12661
|
|
|
12485
12662
|
|
|
12486
12663
|
|
|
@@ -12509,7 +12686,7 @@ ConfigContexts.</p>
|
|
|
12509
12686
|
|
|
12510
12687
|
<div class="doc doc-contents ">
|
|
12511
12688
|
|
|
12512
|
-
|
|
12689
|
+
<p>Convenience wrapper for custom field data.</p>
|
|
12513
12690
|
</div>
|
|
12514
12691
|
|
|
12515
12692
|
</div>
|
|
@@ -12530,7 +12707,7 @@ ConfigContexts.</p>
|
|
|
12530
12707
|
|
|
12531
12708
|
<div class="doc doc-contents ">
|
|
12532
12709
|
|
|
12533
|
-
|
|
12710
|
+
<p>Legacy interface to raw custom field data</p>
|
|
12534
12711
|
<p>TODO(John): remove this entirely when the cf property is enhanced</p>
|
|
12535
12712
|
</div>
|
|
12536
12713
|
|
|
@@ -12549,7 +12726,7 @@ ConfigContexts.</p>
|
|
|
12549
12726
|
|
|
12550
12727
|
<div class="doc doc-contents ">
|
|
12551
12728
|
|
|
12552
|
-
|
|
12729
|
+
<p>Get a computed field for this model, lookup via key.
|
|
12553
12730
|
Returns the template of this field if render is False, otherwise returns the rendered value.</p>
|
|
12554
12731
|
|
|
12555
12732
|
</div>
|
|
@@ -12567,7 +12744,7 @@ Returns the template of this field if render is False, otherwise returns the ren
|
|
|
12567
12744
|
|
|
12568
12745
|
<div class="doc doc-contents ">
|
|
12569
12746
|
|
|
12570
|
-
|
|
12747
|
+
<p>Return a dictionary of all computed fields and their rendered values for this model.
|
|
12571
12748
|
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
12749
|
|
|
12573
12750
|
</div>
|
|
@@ -12585,7 +12762,7 @@ Keys are the <code>key</code> value of each field. If label_as_key is True, <cod
|
|
|
12585
12762
|
|
|
12586
12763
|
<div class="doc doc-contents ">
|
|
12587
12764
|
|
|
12588
|
-
|
|
12765
|
+
<p>Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12589
12766
|
{
|
|
12590
12767
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
12591
12768
|
...
|
|
@@ -12608,7 +12785,7 @@ Keys are the <code>key</code> value of each field. If label_as_key is True, <cod
|
|
|
12608
12785
|
|
|
12609
12786
|
<div class="doc doc-contents ">
|
|
12610
12787
|
|
|
12611
|
-
|
|
12788
|
+
<p>This method exists to help call get_computed_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12612
12789
|
Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12613
12790
|
{
|
|
12614
12791
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12633,7 +12810,7 @@ which have advanced_ui set to True</p>
|
|
|
12633
12810
|
|
|
12634
12811
|
<div class="doc doc-contents ">
|
|
12635
12812
|
|
|
12636
|
-
|
|
12813
|
+
<p>This method exists to help call get_computed_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12637
12814
|
Return a dictonary of computed fields grouped by the same grouping in the form
|
|
12638
12815
|
{
|
|
12639
12816
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12658,7 +12835,7 @@ which have advanced_ui set to False</p>
|
|
|
12658
12835
|
|
|
12659
12836
|
<div class="doc doc-contents ">
|
|
12660
12837
|
|
|
12661
|
-
|
|
12838
|
+
<p>Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12662
12839
|
{
|
|
12663
12840
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
12664
12841
|
...
|
|
@@ -12681,7 +12858,7 @@ which have advanced_ui set to False</p>
|
|
|
12681
12858
|
|
|
12682
12859
|
<div class="doc doc-contents ">
|
|
12683
12860
|
|
|
12684
|
-
|
|
12861
|
+
<p>This method exists to help call get_custom_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12685
12862
|
Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12686
12863
|
{
|
|
12687
12864
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12706,7 +12883,7 @@ which have advanced_ui set to True</p>
|
|
|
12706
12883
|
|
|
12707
12884
|
<div class="doc doc-contents ">
|
|
12708
12885
|
|
|
12709
|
-
|
|
12886
|
+
<p>This method exists to help call get_custom_field_groupings() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12710
12887
|
Return a dictonary of custom fields grouped by the same grouping in the form
|
|
12711
12888
|
{
|
|
12712
12889
|
<grouping_1>: [(cf1, <value for cf1>), (cf2, <value for cf2>), ...],
|
|
@@ -12731,7 +12908,7 @@ which have advanced_ui set to False</p>
|
|
|
12731
12908
|
|
|
12732
12909
|
<div class="doc doc-contents ">
|
|
12733
12910
|
|
|
12734
|
-
|
|
12911
|
+
<p>Return a dictionary of custom fields for a single object in the form {<field>: value}.</p>
|
|
12735
12912
|
|
|
12736
12913
|
</div>
|
|
12737
12914
|
|
|
@@ -12748,7 +12925,7 @@ which have advanced_ui set to False</p>
|
|
|
12748
12925
|
|
|
12749
12926
|
<div class="doc doc-contents ">
|
|
12750
12927
|
|
|
12751
|
-
|
|
12928
|
+
<p>This method exists to help call get_custom_fields() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12752
12929
|
Return a dictionary of custom fields for a single object in the form {<field>: value}
|
|
12753
12930
|
which have advanced_ui set to True</p>
|
|
12754
12931
|
|
|
@@ -12767,7 +12944,7 @@ which have advanced_ui set to True</p>
|
|
|
12767
12944
|
|
|
12768
12945
|
<div class="doc doc-contents ">
|
|
12769
12946
|
|
|
12770
|
-
|
|
12947
|
+
<p>This method exists to help call get_custom_fields() in templates where a function argument (advanced_ui) cannot be specified.
|
|
12771
12948
|
Return a dictionary of custom fields for a single object in the form {<field>: value}
|
|
12772
12949
|
which have advanced_ui set to False</p>
|
|
12773
12950
|
|
|
@@ -12786,7 +12963,7 @@ which have advanced_ui set to False</p>
|
|
|
12786
12963
|
|
|
12787
12964
|
<div class="doc doc-contents ">
|
|
12788
12965
|
|
|
12789
|
-
|
|
12966
|
+
<p>Return a boolean indicating whether or not this content type has computed fields associated with it.
|
|
12790
12967
|
This can also check whether the advanced_ui attribute is True or False for UI display purposes.</p>
|
|
12791
12968
|
|
|
12792
12969
|
</div>
|
|
@@ -12815,7 +12992,7 @@ This can also check whether the advanced_ui attribute is True or False for UI di
|
|
|
12815
12992
|
<div class="doc doc-contents ">
|
|
12816
12993
|
|
|
12817
12994
|
|
|
12818
|
-
|
|
12995
|
+
<p>This class is used to register plugin custom model validators which act on specified models. It contains the clean
|
|
12819
12996
|
method which is overridden by plugin authors to execute custom validation logic. Plugin authors must raise
|
|
12820
12997
|
ValidationError within this method to trigger validation error messages which are propagated to the user.
|
|
12821
12998
|
A convenience method <code>validation_error(<message>)</code> may be used for this purpose.</p>
|
|
@@ -12825,6 +13002,11 @@ should be set as a string in the form <code><app_label>.<model_name>
|
|
|
12825
13002
|
|
|
12826
13003
|
|
|
12827
13004
|
|
|
13005
|
+
|
|
13006
|
+
|
|
13007
|
+
|
|
13008
|
+
|
|
13009
|
+
|
|
12828
13010
|
<div class="doc doc-children">
|
|
12829
13011
|
|
|
12830
13012
|
|
|
@@ -12846,7 +13028,7 @@ should be set as a string in the form <code><app_label>.<model_name>
|
|
|
12846
13028
|
|
|
12847
13029
|
<div class="doc doc-contents ">
|
|
12848
13030
|
|
|
12849
|
-
|
|
13031
|
+
<p>Implement custom model validation in the standard Django clean method pattern. The model instance is accessed
|
|
12850
13032
|
with the <code>object</code> key within <code>self.context</code>, e.g. <code>self.context['object']</code>. ValidationError must be raised to
|
|
12851
13033
|
prevent saving model instance changes, and propagate messages to the user. For convenience,
|
|
12852
13034
|
<code>self.validation_error(<message>)</code> may be called to raise a ValidationError.</p>
|
|
@@ -12866,7 +13048,7 @@ prevent saving model instance changes, and propagate messages to the user. For c
|
|
|
12866
13048
|
|
|
12867
13049
|
<div class="doc doc-contents ">
|
|
12868
13050
|
|
|
12869
|
-
|
|
13051
|
+
<p>Convenience method for raising <code>django.core.exceptions.ValidationError</code> which is required in order to
|
|
12870
13052
|
trigger validation error messages which are propagated to the user.</p>
|
|
12871
13053
|
|
|
12872
13054
|
</div>
|
|
@@ -12895,7 +13077,7 @@ trigger validation error messages which are propagated to the user.</p>
|
|
|
12895
13077
|
<div class="doc doc-contents ">
|
|
12896
13078
|
|
|
12897
13079
|
|
|
12898
|
-
|
|
13080
|
+
<p>DEPRECATED - use DynamicGroupsModelMixin instead if you need to mark a model as supporting Dynamic Groups.</p>
|
|
12899
13081
|
<p>This is necessary because DynamicGroupMixin was incorrectly not implemented as a subclass of models.Model,
|
|
12900
13082
|
and so it cannot properly implement Model behaviors like the <code>static_group_association_set</code> ReverseRelation.
|
|
12901
13083
|
However, adding this inheritance to DynamicGroupMixin itself would negatively impact existing migrations.
|
|
@@ -12909,6 +13091,11 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
12909
13091
|
|
|
12910
13092
|
|
|
12911
13093
|
|
|
13094
|
+
|
|
13095
|
+
|
|
13096
|
+
|
|
13097
|
+
|
|
13098
|
+
|
|
12912
13099
|
<div class="doc doc-children">
|
|
12913
13100
|
|
|
12914
13101
|
|
|
@@ -12933,7 +13120,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
12933
13120
|
|
|
12934
13121
|
<div class="doc doc-contents ">
|
|
12935
13122
|
|
|
12936
|
-
|
|
13123
|
+
<p>Return a queryset of (cached) <code>DynamicGroup</code> objects this instance is a member of.</p>
|
|
12937
13124
|
</div>
|
|
12938
13125
|
|
|
12939
13126
|
</div>
|
|
@@ -12954,7 +13141,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
12954
13141
|
|
|
12955
13142
|
<div class="doc doc-contents ">
|
|
12956
13143
|
|
|
12957
|
-
|
|
13144
|
+
<p>Deprecated - use <code>self.dynamic_groups</code> instead.</p>
|
|
12958
13145
|
</div>
|
|
12959
13146
|
|
|
12960
13147
|
</div>
|
|
@@ -12975,7 +13162,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
12975
13162
|
|
|
12976
13163
|
<div class="doc doc-contents ">
|
|
12977
13164
|
|
|
12978
|
-
|
|
13165
|
+
<p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
|
|
12979
13166
|
</div>
|
|
12980
13167
|
|
|
12981
13168
|
</div>
|
|
@@ -12996,7 +13183,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
12996
13183
|
|
|
12997
13184
|
<div class="doc doc-contents ">
|
|
12998
13185
|
|
|
12999
|
-
|
|
13186
|
+
<p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
|
|
13000
13187
|
</div>
|
|
13001
13188
|
|
|
13002
13189
|
</div>
|
|
@@ -13014,7 +13201,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13014
13201
|
|
|
13015
13202
|
<div class="doc doc-contents ">
|
|
13016
13203
|
|
|
13017
|
-
|
|
13204
|
+
<p>Return the dynamic groups URL for a given instance.</p>
|
|
13018
13205
|
|
|
13019
13206
|
</div>
|
|
13020
13207
|
|
|
@@ -13041,10 +13228,15 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13041
13228
|
|
|
13042
13229
|
<div class="doc doc-contents ">
|
|
13043
13230
|
<p class="doc doc-class-bases">
|
|
13044
|
-
Bases: <code><
|
|
13231
|
+
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>
|
|
13232
|
+
|
|
13233
|
+
|
|
13234
|
+
<p>Add this to models to make them fully support Dynamic Groups.</p>
|
|
13235
|
+
|
|
13236
|
+
|
|
13237
|
+
|
|
13045
13238
|
|
|
13046
13239
|
|
|
13047
|
-
<p>Add this to models to make them fully support Dynamic Groups.</p>
|
|
13048
13240
|
|
|
13049
13241
|
|
|
13050
13242
|
|
|
@@ -13080,16 +13272,21 @@ to the new DynamicGroupsModelMixin in its place.</p>
|
|
|
13080
13272
|
|
|
13081
13273
|
<div class="doc doc-contents ">
|
|
13082
13274
|
<p class="doc doc-class-bases">
|
|
13083
|
-
Bases: <code><
|
|
13275
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.query_functions.JSONBAgg" href="#nautobot.apps.models.JSONBAgg">JSONBAgg</a></code></p>
|
|
13084
13276
|
|
|
13085
13277
|
|
|
13086
|
-
|
|
13278
|
+
<p>JSONBAgg is a builtin aggregation function which means it includes the use of a GROUP BY clause.
|
|
13087
13279
|
When used as an annotation for collecting config context data objects, the GROUP BY is
|
|
13088
13280
|
incorrect. This subclass overrides the Django ORM aggregation control to remove the GROUP BY.</p>
|
|
13089
13281
|
|
|
13090
13282
|
|
|
13091
13283
|
|
|
13092
13284
|
|
|
13285
|
+
|
|
13286
|
+
|
|
13287
|
+
|
|
13288
|
+
|
|
13289
|
+
|
|
13093
13290
|
<div class="doc doc-children">
|
|
13094
13291
|
|
|
13095
13292
|
|
|
@@ -13121,15 +13318,20 @@ incorrect. This subclass overrides the Django ORM aggregation control to remove
|
|
|
13121
13318
|
|
|
13122
13319
|
<div class="doc doc-contents ">
|
|
13123
13320
|
<p class="doc doc-class-bases">
|
|
13124
|
-
Bases: <code><
|
|
13321
|
+
Bases: <code><span title="django.core.validators.URLValidator">URLValidator</span></code></p>
|
|
13125
13322
|
|
|
13126
13323
|
|
|
13127
|
-
|
|
13324
|
+
<p>Extends Django's built-in URLValidator to permit the use of hostnames with no domain extension and enforce allowed
|
|
13128
13325
|
schemes specified in the configuration.</p>
|
|
13129
13326
|
|
|
13130
13327
|
|
|
13131
13328
|
|
|
13132
13329
|
|
|
13330
|
+
|
|
13331
|
+
|
|
13332
|
+
|
|
13333
|
+
|
|
13334
|
+
|
|
13133
13335
|
<div class="doc doc-children">
|
|
13134
13336
|
|
|
13135
13337
|
|
|
@@ -13161,10 +13363,15 @@ schemes specified in the configuration.</p>
|
|
|
13161
13363
|
|
|
13162
13364
|
<div class="doc doc-contents ">
|
|
13163
13365
|
<p class="doc doc-class-bases">
|
|
13164
|
-
Bases: <code><
|
|
13366
|
+
Bases: <code><span title="django.core.validators.BaseValidator">BaseValidator</span></code></p>
|
|
13367
|
+
|
|
13368
|
+
|
|
13369
|
+
<p>Ensure that a field's value is not equal to any of the specified values.</p>
|
|
13370
|
+
|
|
13371
|
+
|
|
13372
|
+
|
|
13165
13373
|
|
|
13166
13374
|
|
|
13167
|
-
<p>Ensure that a field's value is not equal to any of the specified values.</p>
|
|
13168
13375
|
|
|
13169
13376
|
|
|
13170
13377
|
|
|
@@ -13200,10 +13407,10 @@ schemes specified in the configuration.</p>
|
|
|
13200
13407
|
|
|
13201
13408
|
<div class="doc doc-contents ">
|
|
13202
13409
|
<p class="doc doc-class-bases">
|
|
13203
|
-
Bases: <code><
|
|
13410
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.fields.ForeignKeyWithAutoRelatedName" href="#nautobot.apps.models.ForeignKeyWithAutoRelatedName">ForeignKeyWithAutoRelatedName</a></code></p>
|
|
13204
13411
|
|
|
13205
13412
|
|
|
13206
|
-
|
|
13413
|
+
<p>An abstract model field that automatically restricts ForeignKey options based on content_types.</p>
|
|
13207
13414
|
<p>For instance, if the model "Role" contains two records: role_1 and role_2, role_1's content_types
|
|
13208
13415
|
are set to "dcim.location" and "dcim.device" while the role_2's content_types are set to
|
|
13209
13416
|
"circuit.circuit" and "dcim.location."</p>
|
|
@@ -13220,6 +13427,11 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13220
13427
|
|
|
13221
13428
|
|
|
13222
13429
|
|
|
13430
|
+
|
|
13431
|
+
|
|
13432
|
+
|
|
13433
|
+
|
|
13434
|
+
|
|
13223
13435
|
<div class="doc doc-children">
|
|
13224
13436
|
|
|
13225
13437
|
|
|
@@ -13241,7 +13453,7 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13241
13453
|
|
|
13242
13454
|
<div class="doc doc-contents ">
|
|
13243
13455
|
|
|
13244
|
-
|
|
13456
|
+
<p>Return a prepped formfield for use in model forms.</p>
|
|
13245
13457
|
|
|
13246
13458
|
</div>
|
|
13247
13459
|
|
|
@@ -13258,7 +13470,7 @@ while role_1 & role_2 are both available for the Location model.</p>
|
|
|
13258
13470
|
|
|
13259
13471
|
<div class="doc doc-contents ">
|
|
13260
13472
|
|
|
13261
|
-
|
|
13473
|
+
<p>Limit this field to only objects which are assigned to this model's content-type.</p>
|
|
13262
13474
|
<p>Note that this is implemented via specifying <code>content_types__app_label=</code> and <code>content_types__model=</code>
|
|
13263
13475
|
rather than via the more obvious <code>content_types=ContentType.objects.get_for_model(self.model)</code>
|
|
13264
13476
|
because the latter approach would involve a database query, and in some cases
|
|
@@ -13289,10 +13501,10 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13289
13501
|
|
|
13290
13502
|
<div class="doc doc-contents ">
|
|
13291
13503
|
<p class="doc doc-class-bases">
|
|
13292
|
-
Bases: <code><
|
|
13504
|
+
Bases: <code><span title="django.db.models.ForeignKey">ForeignKey</span></code></p>
|
|
13293
13505
|
|
|
13294
13506
|
|
|
13295
|
-
|
|
13507
|
+
<p>Extend base ForeignKey functionality to create a smarter default <code>related_name</code>.</p>
|
|
13296
13508
|
<p>For example, "ip_addresses" instead of "ipaddress_set", "ipaddresss", or "ipam_ipaddress_related".</p>
|
|
13297
13509
|
<p>Primarily useful for cases of abstract base classes that define ForeignKeys, such as
|
|
13298
13510
|
<code>nautobot.dcim.models.device_components.ComponentModel</code>.</p>
|
|
@@ -13300,6 +13512,11 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13300
13512
|
|
|
13301
13513
|
|
|
13302
13514
|
|
|
13515
|
+
|
|
13516
|
+
|
|
13517
|
+
|
|
13518
|
+
|
|
13519
|
+
|
|
13303
13520
|
<div class="doc doc-children">
|
|
13304
13521
|
|
|
13305
13522
|
|
|
@@ -13331,16 +13548,21 @@ because the latter approach would involve a database query, and in some cases
|
|
|
13331
13548
|
|
|
13332
13549
|
<div class="doc doc-contents ">
|
|
13333
13550
|
<p class="doc doc-class-bases">
|
|
13334
|
-
Bases: <code><
|
|
13551
|
+
Bases: <code><span title="django.db.models.JSONField">JSONField</span></code></p>
|
|
13335
13552
|
|
|
13336
13553
|
|
|
13337
|
-
|
|
13554
|
+
<p>An ArrayField implementation backed JSON storage.
|
|
13338
13555
|
Replicates ArrayField's base field validation.</p>
|
|
13339
13556
|
<p>Supports choices in the base field.</p>
|
|
13340
13557
|
|
|
13341
13558
|
|
|
13342
13559
|
|
|
13343
13560
|
|
|
13561
|
+
|
|
13562
|
+
|
|
13563
|
+
|
|
13564
|
+
|
|
13565
|
+
|
|
13344
13566
|
<div class="doc doc-children">
|
|
13345
13567
|
|
|
13346
13568
|
|
|
@@ -13391,7 +13613,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13391
13613
|
|
|
13392
13614
|
<div class="doc doc-contents ">
|
|
13393
13615
|
|
|
13394
|
-
|
|
13616
|
+
<p>Return a django.forms.Field instance for this field.</p>
|
|
13395
13617
|
|
|
13396
13618
|
</div>
|
|
13397
13619
|
|
|
@@ -13408,7 +13630,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13408
13630
|
|
|
13409
13631
|
<div class="doc doc-contents ">
|
|
13410
13632
|
|
|
13411
|
-
|
|
13633
|
+
<p>Perform preliminary non-db specific value checks and conversions.</p>
|
|
13412
13634
|
|
|
13413
13635
|
</div>
|
|
13414
13636
|
|
|
@@ -13425,7 +13647,7 @@ Replicates ArrayField's base field validation.</p>
|
|
|
13425
13647
|
|
|
13426
13648
|
<div class="doc doc-contents ">
|
|
13427
13649
|
|
|
13428
|
-
|
|
13650
|
+
<p>Runs all validators against <code>value</code> and raise ValidationError if necessary.
|
|
13429
13651
|
Some validators can't be created at field initialization time.</p>
|
|
13430
13652
|
|
|
13431
13653
|
</div>
|
|
@@ -13443,7 +13665,7 @@ Some validators can't be created at field initialization time.</p>
|
|
|
13443
13665
|
|
|
13444
13666
|
<div class="doc doc-contents ">
|
|
13445
13667
|
|
|
13446
|
-
|
|
13668
|
+
<p>Convert <code>value</code> into JSON, raising django.core.exceptions.ValidationError
|
|
13447
13669
|
if the data can't be converted. Return the converted value.</p>
|
|
13448
13670
|
|
|
13449
13671
|
</div>
|
|
@@ -13461,7 +13683,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
13461
13683
|
|
|
13462
13684
|
<div class="doc doc-contents ">
|
|
13463
13685
|
|
|
13464
|
-
|
|
13686
|
+
<p>Validate <code>value</code> and raise ValidationError if necessary.</p>
|
|
13465
13687
|
|
|
13466
13688
|
</div>
|
|
13467
13689
|
|
|
@@ -13478,7 +13700,7 @@ if the data can't be converted. Return the converted value.</p>
|
|
|
13478
13700
|
|
|
13479
13701
|
<div class="doc doc-contents ">
|
|
13480
13702
|
|
|
13481
|
-
|
|
13703
|
+
<p>Return a string value of this field from the passed obj.
|
|
13482
13704
|
This is used by the serialization framework.</p>
|
|
13483
13705
|
|
|
13484
13706
|
</div>
|
|
@@ -13506,10 +13728,10 @@ This is used by the serialization framework.</p>
|
|
|
13506
13728
|
|
|
13507
13729
|
<div class="doc doc-contents ">
|
|
13508
13730
|
<p class="doc doc-class-bases">
|
|
13509
|
-
Bases: <code><
|
|
13731
|
+
Bases: <code><span title="django.db.models.Aggregate">Aggregate</span></code></p>
|
|
13510
13732
|
|
|
13511
13733
|
|
|
13512
|
-
|
|
13734
|
+
<p>Like django.contrib.postgres.aggregates.JSONBAgg, but different.</p>
|
|
13513
13735
|
<ol>
|
|
13514
13736
|
<li>Supports both Postgres (JSONB_AGG) and MySQL (JSON_ARRAYAGG)</li>
|
|
13515
13737
|
<li>Does not support <code>ordering</code> as JSON_ARRAYAGG does not guarantee ordering.</li>
|
|
@@ -13518,6 +13740,11 @@ This is used by the serialization framework.</p>
|
|
|
13518
13740
|
|
|
13519
13741
|
|
|
13520
13742
|
|
|
13743
|
+
|
|
13744
|
+
|
|
13745
|
+
|
|
13746
|
+
|
|
13747
|
+
|
|
13521
13748
|
<div class="doc doc-children">
|
|
13522
13749
|
|
|
13523
13750
|
|
|
@@ -13549,10 +13776,15 @@ This is used by the serialization framework.</p>
|
|
|
13549
13776
|
|
|
13550
13777
|
<div class="doc doc-contents ">
|
|
13551
13778
|
<p class="doc doc-class-bases">
|
|
13552
|
-
Bases: <code><
|
|
13779
|
+
Bases: <code><span title="django.db.models.URLField">URLField</span></code></p>
|
|
13780
|
+
|
|
13781
|
+
|
|
13782
|
+
<p>Like models.URLField, but using validators.EnhancedURLValidator and forms.LaxURLField.</p>
|
|
13783
|
+
|
|
13784
|
+
|
|
13785
|
+
|
|
13553
13786
|
|
|
13554
13787
|
|
|
13555
|
-
<p>Like models.URLField, but using validators.EnhancedURLValidator and forms.LaxURLField.</p>
|
|
13556
13788
|
|
|
13557
13789
|
|
|
13558
13790
|
|
|
@@ -13588,15 +13820,20 @@ This is used by the serialization framework.</p>
|
|
|
13588
13820
|
|
|
13589
13821
|
<div class="doc doc-contents ">
|
|
13590
13822
|
<p class="doc doc-class-bases">
|
|
13591
|
-
Bases: <code><
|
|
13823
|
+
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
13824
|
|
|
13593
13825
|
|
|
13594
|
-
|
|
13826
|
+
<p>This abstract base properties model contains fields and functionality that are
|
|
13595
13827
|
shared amongst models that requires these fields: name, color, content_types and description.</p>
|
|
13596
13828
|
|
|
13597
13829
|
|
|
13598
13830
|
|
|
13599
13831
|
|
|
13832
|
+
|
|
13833
|
+
|
|
13834
|
+
|
|
13835
|
+
|
|
13836
|
+
|
|
13600
13837
|
<div class="doc doc-children">
|
|
13601
13838
|
|
|
13602
13839
|
|
|
@@ -13628,16 +13865,21 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13628
13865
|
|
|
13629
13866
|
<div class="doc doc-contents ">
|
|
13630
13867
|
<p class="doc doc-class-bases">
|
|
13631
|
-
Bases: <code><
|
|
13868
|
+
Bases: <code><span title="django.db.models.CharField">CharField</span></code></p>
|
|
13632
13869
|
|
|
13633
13870
|
|
|
13634
|
-
|
|
13871
|
+
<p>A field which stores a naturalized representation of its target field, to be used for ordering its parent model.</p>
|
|
13635
13872
|
<p>:param target_field: Name of the field of the parent model to be naturalized
|
|
13636
13873
|
:param naturalize_function: The function used to generate a naturalized value (optional)</p>
|
|
13637
13874
|
|
|
13638
13875
|
|
|
13639
13876
|
|
|
13640
13877
|
|
|
13878
|
+
|
|
13879
|
+
|
|
13880
|
+
|
|
13881
|
+
|
|
13882
|
+
|
|
13641
13883
|
<div class="doc doc-children">
|
|
13642
13884
|
|
|
13643
13885
|
|
|
@@ -13659,7 +13901,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13659
13901
|
|
|
13660
13902
|
<div class="doc doc-contents ">
|
|
13661
13903
|
|
|
13662
|
-
|
|
13904
|
+
<p>Generate a naturalized value from the target field</p>
|
|
13663
13905
|
|
|
13664
13906
|
</div>
|
|
13665
13907
|
|
|
@@ -13687,7 +13929,12 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13687
13929
|
<div class="doc doc-contents ">
|
|
13688
13930
|
|
|
13689
13931
|
|
|
13690
|
-
|
|
13932
|
+
<p>Adds a <code>notes</code> property that returns a queryset of <code>Notes</code> membership.</p>
|
|
13933
|
+
|
|
13934
|
+
|
|
13935
|
+
|
|
13936
|
+
|
|
13937
|
+
|
|
13691
13938
|
|
|
13692
13939
|
|
|
13693
13940
|
|
|
@@ -13716,7 +13963,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13716
13963
|
|
|
13717
13964
|
<div class="doc doc-contents ">
|
|
13718
13965
|
|
|
13719
|
-
|
|
13966
|
+
<p>Return a <code>Notes</code> queryset for this instance.</p>
|
|
13720
13967
|
</div>
|
|
13721
13968
|
|
|
13722
13969
|
</div>
|
|
@@ -13734,7 +13981,7 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13734
13981
|
|
|
13735
13982
|
<div class="doc doc-contents ">
|
|
13736
13983
|
|
|
13737
|
-
|
|
13984
|
+
<p>Return the notes URL for a given instance.</p>
|
|
13738
13985
|
|
|
13739
13986
|
</div>
|
|
13740
13987
|
|
|
@@ -13761,10 +14008,10 @@ shared amongst models that requires these fields: name, color, content_types and
|
|
|
13761
14008
|
|
|
13762
14009
|
<div class="doc doc-contents ">
|
|
13763
14010
|
<p class="doc doc-class-bases">
|
|
13764
|
-
Bases: <code><
|
|
14011
|
+
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
14012
|
|
|
13766
14013
|
|
|
13767
|
-
|
|
14014
|
+
<p>Base abstract model for all organizational models.</p>
|
|
13768
14015
|
<p>Organizational models aid the primary models by building structured relationships
|
|
13769
14016
|
and logical groups, or categorizations. Organizational models do not typically
|
|
13770
14017
|
represent concrete networking resources or assets, but rather they enable user
|
|
@@ -13774,6 +14021,11 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
|
|
|
13774
14021
|
|
|
13775
14022
|
|
|
13776
14023
|
|
|
14024
|
+
|
|
14025
|
+
|
|
14026
|
+
|
|
14027
|
+
|
|
14028
|
+
|
|
13777
14029
|
<div class="doc doc-children">
|
|
13778
14030
|
|
|
13779
14031
|
|
|
@@ -13805,10 +14057,10 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
|
|
|
13805
14057
|
|
|
13806
14058
|
<div class="doc doc-contents ">
|
|
13807
14059
|
<p class="doc doc-class-bases">
|
|
13808
|
-
Bases: <code><
|
|
14060
|
+
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
14061
|
|
|
13810
14062
|
|
|
13811
|
-
|
|
14063
|
+
<p>Base abstract model for all primary models.</p>
|
|
13812
14064
|
<p>A primary model is one which is materialistically relevant to the network datamodel.
|
|
13813
14065
|
Such models form the basis of major elements of the data model, like Device,
|
|
13814
14066
|
IP Address, Location, VLAN, Virtual Machine, etc. Primary models usually represent
|
|
@@ -13817,6 +14069,11 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13817
14069
|
|
|
13818
14070
|
|
|
13819
14071
|
|
|
14072
|
+
|
|
14073
|
+
|
|
14074
|
+
|
|
14075
|
+
|
|
14076
|
+
|
|
13820
14077
|
<div class="doc doc-children">
|
|
13821
14078
|
|
|
13822
14079
|
|
|
@@ -13848,10 +14105,15 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13848
14105
|
|
|
13849
14106
|
<div class="doc doc-contents ">
|
|
13850
14107
|
<p class="doc doc-class-bases">
|
|
13851
|
-
Bases: <code><
|
|
14108
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
14109
|
+
|
|
14110
|
+
|
|
14111
|
+
<p>Abstract class for any model which may have custom relationships associated with it.</p>
|
|
14112
|
+
|
|
14113
|
+
|
|
14114
|
+
|
|
13852
14115
|
|
|
13853
14116
|
|
|
13854
|
-
<p>Abstract class for any model which may have custom relationships associated with it.</p>
|
|
13855
14117
|
|
|
13856
14118
|
|
|
13857
14119
|
|
|
@@ -13877,7 +14139,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13877
14139
|
|
|
13878
14140
|
<div class="doc doc-contents ">
|
|
13879
14141
|
|
|
13880
|
-
|
|
14142
|
+
<p>Return a dictionary of RelationshipAssociation querysets for all custom relationships</p>
|
|
13881
14143
|
|
|
13882
14144
|
|
|
13883
14145
|
<p><span class="doc-section-title">Returns:</span></p>
|
|
@@ -13891,7 +14153,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13891
14153
|
<tbody>
|
|
13892
14154
|
<tr class="doc-section-item">
|
|
13893
14155
|
<td>
|
|
13894
|
-
<code
|
|
14156
|
+
<code>dict</code>
|
|
13895
14157
|
</td>
|
|
13896
14158
|
<td>
|
|
13897
14159
|
<div class="doc-md-description">
|
|
@@ -13930,7 +14192,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13930
14192
|
|
|
13931
14193
|
<div class="doc doc-contents ">
|
|
13932
14194
|
|
|
13933
|
-
|
|
14195
|
+
<p>Return a dictionary of relationships with the label and the value or the queryset for each.</p>
|
|
13934
14196
|
<p>Used for rendering relationships in the UI; see nautobot/core/templates/inc/relationships_table_rows.html</p>
|
|
13935
14197
|
|
|
13936
14198
|
|
|
@@ -13945,7 +14207,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13945
14207
|
<tbody>
|
|
13946
14208
|
<tr class="doc-section-item">
|
|
13947
14209
|
<td>
|
|
13948
|
-
<code
|
|
14210
|
+
<code>dict</code>
|
|
13949
14211
|
</td>
|
|
13950
14212
|
<td>
|
|
13951
14213
|
<div class="doc-md-description">
|
|
@@ -13994,7 +14256,7 @@ tangible or logical resources on the network, or within the organization.</p>
|
|
|
13994
14256
|
|
|
13995
14257
|
<div class="doc doc-contents ">
|
|
13996
14258
|
|
|
13997
|
-
|
|
14259
|
+
<p>Same docstring as get_relationships_data() above except this only returns relationships
|
|
13998
14260
|
where advanced_ui==True for displaying in the 'Advanced' tab on the object's page</p>
|
|
13999
14261
|
|
|
14000
14262
|
</div>
|
|
@@ -14012,7 +14274,7 @@ where advanced_ui==True for displaying in the 'Advanced' tab on the object's pag
|
|
|
14012
14274
|
|
|
14013
14275
|
<div class="doc doc-contents ">
|
|
14014
14276
|
|
|
14015
|
-
|
|
14277
|
+
<p>Same docstring as get_relationships_data() above except this only returns relationships
|
|
14016
14278
|
where advanced_ui==False for displaying in the main object detail tab on the object's page</p>
|
|
14017
14279
|
|
|
14018
14280
|
</div>
|
|
@@ -14030,7 +14292,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14030
14292
|
|
|
14031
14293
|
<div class="doc doc-contents ">
|
|
14032
14294
|
|
|
14033
|
-
|
|
14295
|
+
<p>Alternative version of get_relationships().</p>
|
|
14034
14296
|
|
|
14035
14297
|
</div>
|
|
14036
14298
|
|
|
@@ -14065,9 +14327,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14065
14327
|
</thead>
|
|
14066
14328
|
<tbody>
|
|
14067
14329
|
<tr class="doc-section-item">
|
|
14068
|
-
<td><code>output_for</code></td>
|
|
14069
14330
|
<td>
|
|
14070
|
-
|
|
14331
|
+
<code>output_for</code>
|
|
14332
|
+
</td>
|
|
14333
|
+
<td>
|
|
14334
|
+
<code>str</code>
|
|
14071
14335
|
</td>
|
|
14072
14336
|
<td>
|
|
14073
14337
|
<div class="doc-md-description">
|
|
@@ -14079,9 +14343,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14079
14343
|
</td>
|
|
14080
14344
|
</tr>
|
|
14081
14345
|
<tr class="doc-section-item">
|
|
14082
|
-
<td><code>initial_data</code></td>
|
|
14083
14346
|
<td>
|
|
14084
|
-
|
|
14347
|
+
<code>initial_data</code>
|
|
14348
|
+
</td>
|
|
14349
|
+
<td>
|
|
14350
|
+
<code>dict</code>
|
|
14085
14351
|
</td>
|
|
14086
14352
|
<td>
|
|
14087
14353
|
<div class="doc-md-description">
|
|
@@ -14093,9 +14359,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14093
14359
|
</td>
|
|
14094
14360
|
</tr>
|
|
14095
14361
|
<tr class="doc-section-item">
|
|
14096
|
-
<td><code>relationships_key_specified</code></td>
|
|
14097
14362
|
<td>
|
|
14098
|
-
|
|
14363
|
+
<code>relationships_key_specified</code>
|
|
14364
|
+
</td>
|
|
14365
|
+
<td>
|
|
14366
|
+
<code>bool</code>
|
|
14099
14367
|
</td>
|
|
14100
14368
|
<td>
|
|
14101
14369
|
<div class="doc-md-description">
|
|
@@ -14107,9 +14375,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14107
14375
|
</td>
|
|
14108
14376
|
</tr>
|
|
14109
14377
|
<tr class="doc-section-item">
|
|
14110
|
-
<td><code>instance</code></td>
|
|
14111
14378
|
<td>
|
|
14112
|
-
|
|
14379
|
+
<code>instance</code>
|
|
14380
|
+
</td>
|
|
14381
|
+
<td>
|
|
14382
|
+
<code>Optional[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
|
|
14113
14383
|
</td>
|
|
14114
14384
|
<td>
|
|
14115
14385
|
<div class="doc-md-description">
|
|
@@ -14122,7 +14392,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14122
14392
|
</tr>
|
|
14123
14393
|
</tbody>
|
|
14124
14394
|
</table>
|
|
14125
|
-
|
|
14395
|
+
<p>Returns:
|
|
14126
14396
|
(list[dict]): List of field error dicts if any are found</p>
|
|
14127
14397
|
|
|
14128
14398
|
</div>
|
|
@@ -14150,7 +14420,12 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14150
14420
|
|
|
14151
14421
|
<div class="doc doc-contents ">
|
|
14152
14422
|
<p class="doc doc-class-bases">
|
|
14153
|
-
Bases: <code><
|
|
14423
|
+
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>
|
|
14424
|
+
|
|
14425
|
+
|
|
14426
|
+
|
|
14427
|
+
|
|
14428
|
+
|
|
14154
14429
|
|
|
14155
14430
|
|
|
14156
14431
|
|
|
@@ -14177,7 +14452,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14177
14452
|
|
|
14178
14453
|
<div class="doc doc-contents ">
|
|
14179
14454
|
|
|
14180
|
-
|
|
14455
|
+
<p>Check whether the given user can perform the given action with regard to the given instance of this model.</p>
|
|
14181
14456
|
<p>Either instance or pk must be specified, but not both.</p>
|
|
14182
14457
|
|
|
14183
14458
|
|
|
@@ -14193,9 +14468,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14193
14468
|
</thead>
|
|
14194
14469
|
<tbody>
|
|
14195
14470
|
<tr class="doc-section-item">
|
|
14196
|
-
<td><code>user</code></td>
|
|
14197
14471
|
<td>
|
|
14198
|
-
|
|
14472
|
+
<code>user</code>
|
|
14473
|
+
</td>
|
|
14474
|
+
<td>
|
|
14475
|
+
<code>User</code>
|
|
14199
14476
|
</td>
|
|
14200
14477
|
<td>
|
|
14201
14478
|
<div class="doc-md-description">
|
|
@@ -14207,9 +14484,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14207
14484
|
</td>
|
|
14208
14485
|
</tr>
|
|
14209
14486
|
<tr class="doc-section-item">
|
|
14210
|
-
<td><code>instance</code></td>
|
|
14211
14487
|
<td>
|
|
14212
|
-
|
|
14488
|
+
<code>instance</code>
|
|
14489
|
+
</td>
|
|
14490
|
+
<td>
|
|
14491
|
+
<code><span title="self.model">model</span></code>
|
|
14213
14492
|
</td>
|
|
14214
14493
|
<td>
|
|
14215
14494
|
<div class="doc-md-description">
|
|
@@ -14221,9 +14500,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14221
14500
|
</td>
|
|
14222
14501
|
</tr>
|
|
14223
14502
|
<tr class="doc-section-item">
|
|
14224
|
-
<td><code>pk</code></td>
|
|
14225
14503
|
<td>
|
|
14226
|
-
|
|
14504
|
+
<code>pk</code>
|
|
14505
|
+
</td>
|
|
14506
|
+
<td>
|
|
14507
|
+
<code>uuid</code>
|
|
14227
14508
|
</td>
|
|
14228
14509
|
<td>
|
|
14229
14510
|
<div class="doc-md-description">
|
|
@@ -14235,9 +14516,11 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14235
14516
|
</td>
|
|
14236
14517
|
</tr>
|
|
14237
14518
|
<tr class="doc-section-item">
|
|
14238
|
-
<td><code>action</code></td>
|
|
14239
14519
|
<td>
|
|
14240
|
-
|
|
14520
|
+
<code>action</code>
|
|
14521
|
+
</td>
|
|
14522
|
+
<td>
|
|
14523
|
+
<code>str</code>
|
|
14241
14524
|
</td>
|
|
14242
14525
|
<td>
|
|
14243
14526
|
<div class="doc-md-description">
|
|
@@ -14263,7 +14546,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14263
14546
|
<tbody>
|
|
14264
14547
|
<tr class="doc-section-item">
|
|
14265
14548
|
<td>
|
|
14266
|
-
<code
|
|
14549
|
+
<code>bool</code>
|
|
14267
14550
|
</td>
|
|
14268
14551
|
<td>
|
|
14269
14552
|
<div class="doc-md-description">
|
|
@@ -14289,7 +14572,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
|
|
|
14289
14572
|
|
|
14290
14573
|
<div class="doc doc-contents ">
|
|
14291
14574
|
|
|
14292
|
-
|
|
14575
|
+
<p>Wrapper for <code>QuerySet.values_list()</code> that adds the <code>distinct()</code> query to return a list of unique values.</p>
|
|
14293
14576
|
|
|
14294
14577
|
|
|
14295
14578
|
<details class="note" open>
|
|
@@ -14310,9 +14593,11 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
|
|
|
14310
14593
|
</thead>
|
|
14311
14594
|
<tbody>
|
|
14312
14595
|
<tr class="doc-section-item">
|
|
14313
|
-
<td><code>*fields</code></td>
|
|
14314
14596
|
<td>
|
|
14315
|
-
|
|
14597
|
+
<code>*fields</code>
|
|
14598
|
+
</td>
|
|
14599
|
+
<td>
|
|
14600
|
+
<code>str</code>
|
|
14316
14601
|
</td>
|
|
14317
14602
|
<td>
|
|
14318
14603
|
<div class="doc-md-description">
|
|
@@ -14324,9 +14609,11 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
|
|
|
14324
14609
|
</td>
|
|
14325
14610
|
</tr>
|
|
14326
14611
|
<tr class="doc-section-item">
|
|
14327
|
-
<td><code>flat</code></td>
|
|
14328
14612
|
<td>
|
|
14329
|
-
|
|
14613
|
+
<code>flat</code>
|
|
14614
|
+
</td>
|
|
14615
|
+
<td>
|
|
14616
|
+
<code>bool</code>
|
|
14330
14617
|
</td>
|
|
14331
14618
|
<td>
|
|
14332
14619
|
<div class="doc-md-description">
|
|
@@ -14339,9 +14626,11 @@ Defaults to False.</p>
|
|
|
14339
14626
|
</td>
|
|
14340
14627
|
</tr>
|
|
14341
14628
|
<tr class="doc-section-item">
|
|
14342
|
-
<td><code>named</code></td>
|
|
14343
14629
|
<td>
|
|
14344
|
-
|
|
14630
|
+
<code>named</code>
|
|
14631
|
+
</td>
|
|
14632
|
+
<td>
|
|
14633
|
+
<code>bool</code>
|
|
14345
14634
|
</td>
|
|
14346
14635
|
<td>
|
|
14347
14636
|
<div class="doc-md-description">
|
|
@@ -14367,7 +14656,7 @@ Defaults to False.</p>
|
|
|
14367
14656
|
<tbody>
|
|
14368
14657
|
<tr class="doc-section-item">
|
|
14369
14658
|
<td>
|
|
14370
|
-
<code><
|
|
14659
|
+
<code><span title="django.db.models.QuerySet">QuerySet</span></code>
|
|
14371
14660
|
</td>
|
|
14372
14661
|
<td>
|
|
14373
14662
|
<div class="doc-md-description">
|
|
@@ -14393,7 +14682,7 @@ Defaults to False.</p>
|
|
|
14393
14682
|
|
|
14394
14683
|
<div class="doc doc-contents ">
|
|
14395
14684
|
|
|
14396
|
-
|
|
14685
|
+
<p>Filter the QuerySet to return only objects on which the specified user has been granted the specified
|
|
14397
14686
|
permission.</p>
|
|
14398
14687
|
<p>:param user: User instance
|
|
14399
14688
|
:param action: The action which must be permitted (e.g. "view" for "dcim.view_location"); default is 'view'</p>
|
|
@@ -14423,10 +14712,15 @@ permission.</p>
|
|
|
14423
14712
|
|
|
14424
14713
|
<div class="doc doc-contents ">
|
|
14425
14714
|
<p class="doc doc-class-bases">
|
|
14426
|
-
Bases: <code><
|
|
14715
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
14716
|
+
|
|
14717
|
+
|
|
14718
|
+
<p>Abstract mixin for enabling Saved View functionality to a given model class.</p>
|
|
14719
|
+
|
|
14720
|
+
|
|
14721
|
+
|
|
14427
14722
|
|
|
14428
14723
|
|
|
14429
|
-
<p>Abstract mixin for enabling Saved View functionality to a given model class.</p>
|
|
14430
14724
|
|
|
14431
14725
|
|
|
14432
14726
|
|
|
@@ -14462,10 +14756,10 @@ permission.</p>
|
|
|
14462
14756
|
|
|
14463
14757
|
<div class="doc doc-contents ">
|
|
14464
14758
|
<p class="doc doc-class-bases">
|
|
14465
|
-
Bases: <code><
|
|
14759
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.fields.ForeignKeyLimitedByContentTypes" href="#nautobot.apps.models.ForeignKeyLimitedByContentTypes">ForeignKeyLimitedByContentTypes</a></code></p>
|
|
14466
14760
|
|
|
14467
14761
|
|
|
14468
|
-
|
|
14762
|
+
<p>Model database field that automatically limits custom choices.</p>
|
|
14469
14763
|
<p>The limit_choices_to for the field are automatically derived from:</p>
|
|
14470
14764
|
<div class="highlight"><pre><span></span><code>- the content-type to which the field is attached (e.g. `dcim.device`)
|
|
14471
14765
|
</code></pre></div>
|
|
@@ -14473,6 +14767,11 @@ permission.</p>
|
|
|
14473
14767
|
|
|
14474
14768
|
|
|
14475
14769
|
|
|
14770
|
+
|
|
14771
|
+
|
|
14772
|
+
|
|
14773
|
+
|
|
14774
|
+
|
|
14476
14775
|
<div class="doc doc-children">
|
|
14477
14776
|
|
|
14478
14777
|
|
|
@@ -14494,7 +14793,7 @@ permission.</p>
|
|
|
14494
14793
|
|
|
14495
14794
|
<div class="doc doc-contents ">
|
|
14496
14795
|
|
|
14497
|
-
|
|
14796
|
+
<p>Overload default so that we can assert that <code>.get_FOO_display</code> is
|
|
14498
14797
|
attached to any model that is using a <code>StatusField</code>.</p>
|
|
14499
14798
|
<p>Using <code>.contribute_to_class()</code> is how field objects get added to the model
|
|
14500
14799
|
at during the instance preparation. This is also where any custom model
|
|
@@ -14528,15 +14827,20 @@ having to define it on the model yourself.</p>
|
|
|
14528
14827
|
|
|
14529
14828
|
<div class="doc doc-contents ">
|
|
14530
14829
|
<p class="doc doc-class-bases">
|
|
14531
|
-
Bases: <code><
|
|
14830
|
+
Bases: <code><span title="django.db.models.Model">Model</span></code></p>
|
|
14532
14831
|
|
|
14533
14832
|
|
|
14534
|
-
|
|
14833
|
+
<p>Deprecated abstract base class for any model which may have statuses.</p>
|
|
14535
14834
|
<p>Just directly include a StatusField instead for any new models.</p>
|
|
14536
14835
|
|
|
14537
14836
|
|
|
14538
14837
|
|
|
14539
14838
|
|
|
14839
|
+
|
|
14840
|
+
|
|
14841
|
+
|
|
14842
|
+
|
|
14843
|
+
|
|
14540
14844
|
<div class="doc doc-children">
|
|
14541
14845
|
|
|
14542
14846
|
|
|
@@ -14568,10 +14872,15 @@ having to define it on the model yourself.</p>
|
|
|
14568
14872
|
|
|
14569
14873
|
<div class="doc doc-contents ">
|
|
14570
14874
|
<p class="doc doc-class-bases">
|
|
14571
|
-
Bases: <code><
|
|
14875
|
+
Bases: <code><span title="taggit.managers.TaggableManager">TaggableManager</span></code></p>
|
|
14876
|
+
|
|
14877
|
+
|
|
14878
|
+
<p>Override FormField method on taggit.managers.TaggableManager to match the Nautobot UI.</p>
|
|
14879
|
+
|
|
14880
|
+
|
|
14881
|
+
|
|
14572
14882
|
|
|
14573
14883
|
|
|
14574
|
-
<p>Override FormField method on taggit.managers.TaggableManager to match the Nautobot UI.</p>
|
|
14575
14884
|
|
|
14576
14885
|
|
|
14577
14886
|
|
|
@@ -14607,10 +14916,15 @@ having to define it on the model yourself.</p>
|
|
|
14607
14916
|
|
|
14608
14917
|
<div class="doc doc-contents ">
|
|
14609
14918
|
<p class="doc doc-class-bases">
|
|
14610
|
-
Bases: <code><
|
|
14919
|
+
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>
|
|
14920
|
+
|
|
14921
|
+
|
|
14922
|
+
<p>Manager class for model 'tags' fields.</p>
|
|
14923
|
+
|
|
14924
|
+
|
|
14925
|
+
|
|
14611
14926
|
|
|
14612
14927
|
|
|
14613
|
-
<p>Manager class for model 'tags' fields.</p>
|
|
14614
14928
|
|
|
14615
14929
|
|
|
14616
14930
|
|
|
@@ -14646,10 +14960,15 @@ having to define it on the model yourself.</p>
|
|
|
14646
14960
|
|
|
14647
14961
|
<div class="doc doc-contents ">
|
|
14648
14962
|
<p class="doc doc-class-bases">
|
|
14649
|
-
Bases: <code><
|
|
14963
|
+
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>
|
|
14964
|
+
|
|
14965
|
+
|
|
14966
|
+
<p>Extend django-tree-queries' TreeManager to incorporate RestrictedQuerySet.</p>
|
|
14967
|
+
|
|
14968
|
+
|
|
14969
|
+
|
|
14650
14970
|
|
|
14651
14971
|
|
|
14652
|
-
<p>Extend django-tree-queries' TreeManager to incorporate RestrictedQuerySet.</p>
|
|
14653
14972
|
|
|
14654
14973
|
|
|
14655
14974
|
|
|
@@ -14678,7 +14997,7 @@ having to define it on the model yourself.</p>
|
|
|
14678
14997
|
|
|
14679
14998
|
<div class="doc doc-contents ">
|
|
14680
14999
|
|
|
14681
|
-
|
|
15000
|
+
<p>Cacheable version of <code>TreeQuerySet.max_tree_depth()</code>.</p>
|
|
14682
15001
|
<p>Generally TreeManagers are persistent objects while TreeQuerySets are not, hence the difference in behavior.</p>
|
|
14683
15002
|
</div>
|
|
14684
15003
|
|
|
@@ -14707,10 +15026,15 @@ having to define it on the model yourself.</p>
|
|
|
14707
15026
|
|
|
14708
15027
|
<div class="doc doc-contents ">
|
|
14709
15028
|
<p class="doc doc-class-bases">
|
|
14710
|
-
Bases: <code><
|
|
15029
|
+
Bases: <code><span title="tree_queries.models.TreeNode">TreeNode</span></code></p>
|
|
15030
|
+
|
|
15031
|
+
|
|
15032
|
+
<p>Nautobot-specific base class for models that exist in a self-referential tree.</p>
|
|
15033
|
+
|
|
15034
|
+
|
|
15035
|
+
|
|
14711
15036
|
|
|
14712
15037
|
|
|
14713
|
-
<p>Nautobot-specific base class for models that exist in a self-referential tree.</p>
|
|
14714
15038
|
|
|
14715
15039
|
|
|
14716
15040
|
|
|
@@ -14739,7 +15063,7 @@ having to define it on the model yourself.</p>
|
|
|
14739
15063
|
|
|
14740
15064
|
<div class="doc doc-contents ">
|
|
14741
15065
|
|
|
14742
|
-
|
|
15066
|
+
<p>By default, TreeModels display their full ancestry for clarity.</p>
|
|
14743
15067
|
<p>As this is an expensive thing to calculate, we cache it for a few seconds in the case of repeated lookups.</p>
|
|
14744
15068
|
</div>
|
|
14745
15069
|
|
|
@@ -14768,10 +15092,15 @@ having to define it on the model yourself.</p>
|
|
|
14768
15092
|
|
|
14769
15093
|
<div class="doc doc-contents ">
|
|
14770
15094
|
<p class="doc doc-class-bases">
|
|
14771
|
-
Bases: <code><
|
|
15095
|
+
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>
|
|
15096
|
+
|
|
15097
|
+
|
|
15098
|
+
<p>Combine django-tree-queries' TreeQuerySet with our RestrictedQuerySet for permissions enforcement.</p>
|
|
15099
|
+
|
|
15100
|
+
|
|
15101
|
+
|
|
14772
15102
|
|
|
14773
15103
|
|
|
14774
|
-
<p>Combine django-tree-queries' TreeQuerySet with our RestrictedQuerySet for permissions enforcement.</p>
|
|
14775
15104
|
|
|
14776
15105
|
|
|
14777
15106
|
|
|
@@ -14797,7 +15126,7 @@ having to define it on the model yourself.</p>
|
|
|
14797
15126
|
|
|
14798
15127
|
<div class="doc doc-contents ">
|
|
14799
15128
|
|
|
14800
|
-
|
|
15129
|
+
<p>Custom ancestors method for optimization purposes.</p>
|
|
14801
15130
|
<p>Dynamically computes ancestors either through the tree or through the <code>parent</code> foreign key depending on whether
|
|
14802
15131
|
tree fields are present on <code>of</code>.</p>
|
|
14803
15132
|
|
|
@@ -14816,7 +15145,7 @@ tree fields are present on <code>of</code>.</p>
|
|
|
14816
15145
|
|
|
14817
15146
|
<div class="doc doc-contents ">
|
|
14818
15147
|
|
|
14819
|
-
|
|
15148
|
+
<p>Get the maximum tree depth of any node in this queryset.</p>
|
|
14820
15149
|
<p>In most cases you should use TreeManager.max_depth instead as it's cached and this is not.</p>
|
|
14821
15150
|
<p>root - depth 0
|
|
14822
15151
|
\
|
|
@@ -14852,15 +15181,20 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14852
15181
|
|
|
14853
15182
|
<div class="doc doc-contents ">
|
|
14854
15183
|
<p class="doc doc-class-bases">
|
|
14855
|
-
Bases: <code><
|
|
15184
|
+
Bases: <code><span title="django.core.validators.RegexValidator">RegexValidator</span></code></p>
|
|
14856
15185
|
|
|
14857
15186
|
|
|
14858
|
-
|
|
15187
|
+
<p>Checks that the value is a valid regular expression.</p>
|
|
14859
15188
|
<p>Don't confuse this with <code>RegexValidator</code>, which <em>uses</em> a regex to validate a value.</p>
|
|
14860
15189
|
|
|
14861
15190
|
|
|
14862
15191
|
|
|
14863
15192
|
|
|
15193
|
+
|
|
15194
|
+
|
|
15195
|
+
|
|
15196
|
+
|
|
15197
|
+
|
|
14864
15198
|
<div class="doc doc-children">
|
|
14865
15199
|
|
|
14866
15200
|
|
|
@@ -14892,10 +15226,15 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14892
15226
|
|
|
14893
15227
|
<div class="doc doc-contents ">
|
|
14894
15228
|
<p class="doc doc-class-bases">
|
|
14895
|
-
Bases: <code><
|
|
15229
|
+
Bases: <code><span title="django.db.models.BinaryField">BinaryField</span></code></p>
|
|
15230
|
+
|
|
15231
|
+
|
|
15232
|
+
<p>IP network address</p>
|
|
15233
|
+
|
|
15234
|
+
|
|
15235
|
+
|
|
14896
15236
|
|
|
14897
15237
|
|
|
14898
|
-
<p>IP network address</p>
|
|
14899
15238
|
|
|
14900
15239
|
|
|
14901
15240
|
|
|
@@ -14921,7 +15260,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14921
15260
|
|
|
14922
15261
|
<div class="doc doc-contents ">
|
|
14923
15262
|
|
|
14924
|
-
|
|
15263
|
+
<p>Returns the correct field type for a given database vendor.</p>
|
|
14925
15264
|
|
|
14926
15265
|
</div>
|
|
14927
15266
|
|
|
@@ -14938,7 +15277,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14938
15277
|
|
|
14939
15278
|
<div class="doc doc-contents ">
|
|
14940
15279
|
|
|
14941
|
-
|
|
15280
|
+
<p>Converts DB (varbinary) to Python (str).</p>
|
|
14942
15281
|
|
|
14943
15282
|
</div>
|
|
14944
15283
|
|
|
@@ -14955,7 +15294,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14955
15294
|
|
|
14956
15295
|
<div class="doc doc-contents ">
|
|
14957
15296
|
|
|
14958
|
-
|
|
15297
|
+
<p>Converts Python (str) to DB (varbinary).</p>
|
|
14959
15298
|
|
|
14960
15299
|
</div>
|
|
14961
15300
|
|
|
@@ -14972,7 +15311,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14972
15311
|
|
|
14973
15312
|
<div class="doc doc-contents ">
|
|
14974
15313
|
|
|
14975
|
-
|
|
15314
|
+
<p>Converts <code>value</code> to Python (str).</p>
|
|
14976
15315
|
|
|
14977
15316
|
</div>
|
|
14978
15317
|
|
|
@@ -14989,7 +15328,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
14989
15328
|
|
|
14990
15329
|
<div class="doc doc-contents ">
|
|
14991
15330
|
|
|
14992
|
-
|
|
15331
|
+
<p>IPField is serialized as str(IPAddress())</p>
|
|
14993
15332
|
|
|
14994
15333
|
</div>
|
|
14995
15334
|
|
|
@@ -15015,7 +15354,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
|
|
|
15015
15354
|
|
|
15016
15355
|
<div class="doc doc-contents ">
|
|
15017
15356
|
|
|
15018
|
-
|
|
15357
|
+
<p>Generate an efficient, human-friendly string from a set of integers. Intended for use with ArrayField.
|
|
15019
15358
|
For example:
|
|
15020
15359
|
[0, 1, 2, 10, 14, 15, 16] => "0-2, 10, 14-16"</p>
|
|
15021
15360
|
|
|
@@ -15034,7 +15373,7 @@ For example:
|
|
|
15034
15373
|
|
|
15035
15374
|
<div class="doc doc-contents ">
|
|
15036
15375
|
|
|
15037
|
-
|
|
15376
|
+
<p>Convert the given list of natural key values to a single URL-path-usable string.</p>
|
|
15038
15377
|
<ul>
|
|
15039
15378
|
<li>Non-URL-safe characters are percent-encoded.</li>
|
|
15040
15379
|
<li>Null (<code>None</code>) values are percent-encoded as a literal null character <code>%00</code>.</li>
|
|
@@ -15056,7 +15395,7 @@ For example:
|
|
|
15056
15395
|
|
|
15057
15396
|
<div class="doc doc-contents ">
|
|
15058
15397
|
|
|
15059
|
-
|
|
15398
|
+
<p>Convert the given list of natural key <code>values</code> to a single human-readable string.</p>
|
|
15060
15399
|
<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
15400
|
only the first four characters will be appended.</p>
|
|
15062
15401
|
<p>A third-party lossy <code>slugify()</code> function is used to convert each natural key value to a
|
|
@@ -15087,7 +15426,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15087
15426
|
|
|
15088
15427
|
<div class="doc doc-contents ">
|
|
15089
15428
|
|
|
15090
|
-
|
|
15429
|
+
<p>Return a Subquery suitable for annotating a child object count.</p>
|
|
15091
15430
|
|
|
15092
15431
|
|
|
15093
15432
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15102,9 +15441,11 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15102
15441
|
</thead>
|
|
15103
15442
|
<tbody>
|
|
15104
15443
|
<tr class="doc-section-item">
|
|
15105
|
-
<td><code>model</code></td>
|
|
15106
15444
|
<td>
|
|
15107
|
-
|
|
15445
|
+
<code>model</code>
|
|
15446
|
+
</td>
|
|
15447
|
+
<td>
|
|
15448
|
+
<code>Model</code>
|
|
15108
15449
|
</td>
|
|
15109
15450
|
<td>
|
|
15110
15451
|
<div class="doc-md-description">
|
|
@@ -15116,9 +15457,11 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15116
15457
|
</td>
|
|
15117
15458
|
</tr>
|
|
15118
15459
|
<tr class="doc-section-item">
|
|
15119
|
-
<td><code>field</code></td>
|
|
15120
15460
|
<td>
|
|
15121
|
-
|
|
15461
|
+
<code>field</code>
|
|
15462
|
+
</td>
|
|
15463
|
+
<td>
|
|
15464
|
+
<code>str</code>
|
|
15122
15465
|
</td>
|
|
15123
15466
|
<td>
|
|
15124
15467
|
<div class="doc-md-description">
|
|
@@ -15130,9 +15473,11 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15130
15473
|
</td>
|
|
15131
15474
|
</tr>
|
|
15132
15475
|
<tr class="doc-section-item">
|
|
15133
|
-
<td><code>filter_dict</code></td>
|
|
15134
15476
|
<td>
|
|
15135
|
-
|
|
15477
|
+
<code>filter_dict</code>
|
|
15478
|
+
</td>
|
|
15479
|
+
<td>
|
|
15480
|
+
<code>dict</code>
|
|
15136
15481
|
</td>
|
|
15137
15482
|
<td>
|
|
15138
15483
|
<div class="doc-md-description">
|
|
@@ -15144,9 +15489,11 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15144
15489
|
</td>
|
|
15145
15490
|
</tr>
|
|
15146
15491
|
<tr class="doc-section-item">
|
|
15147
|
-
<td><code>manager_name</code></td>
|
|
15148
15492
|
<td>
|
|
15149
|
-
|
|
15493
|
+
<code>manager_name</code>
|
|
15494
|
+
</td>
|
|
15495
|
+
<td>
|
|
15496
|
+
<code>str</code>
|
|
15150
15497
|
</td>
|
|
15151
15498
|
<td>
|
|
15152
15499
|
<div class="doc-md-description">
|
|
@@ -15175,7 +15522,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15175
15522
|
|
|
15176
15523
|
<div class="doc doc-contents ">
|
|
15177
15524
|
|
|
15178
|
-
|
|
15525
|
+
<p>Convert the given composite-key string back to a list of distinct values.</p>
|
|
15179
15526
|
<ul>
|
|
15180
15527
|
<li>Percent-encoded characters are converted back to their raw values</li>
|
|
15181
15528
|
<li>Single literal null characters <code>%00</code> are converted back to a Python <code>None</code>.</li>
|
|
@@ -15197,7 +15544,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15197
15544
|
|
|
15198
15545
|
<div class="doc doc-contents ">
|
|
15199
15546
|
|
|
15200
|
-
|
|
15547
|
+
<p>Decorator used to register extras provided features to a model</p>
|
|
15201
15548
|
|
|
15202
15549
|
</div>
|
|
15203
15550
|
|
|
@@ -15214,7 +15561,7 @@ slug, and then they are joined with an underscore.</p>
|
|
|
15214
15561
|
|
|
15215
15562
|
<div class="doc doc-contents ">
|
|
15216
15563
|
|
|
15217
|
-
|
|
15564
|
+
<p>Find all models that have fields with the specified names and satisfy the additional constraints,
|
|
15218
15565
|
and return them grouped by app.</p>
|
|
15219
15566
|
|
|
15220
15567
|
|
|
@@ -15230,9 +15577,11 @@ and return them grouped by app.</p>
|
|
|
15230
15577
|
</thead>
|
|
15231
15578
|
<tbody>
|
|
15232
15579
|
<tr class="doc-section-item">
|
|
15233
|
-
<td><code>app_models</code></td>
|
|
15234
15580
|
<td>
|
|
15235
|
-
|
|
15581
|
+
<code>app_models</code>
|
|
15582
|
+
</td>
|
|
15583
|
+
<td>
|
|
15584
|
+
<code>list[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
|
|
15236
15585
|
</td>
|
|
15237
15586
|
<td>
|
|
15238
15587
|
<div class="doc-md-description">
|
|
@@ -15244,9 +15593,11 @@ and return them grouped by app.</p>
|
|
|
15244
15593
|
</td>
|
|
15245
15594
|
</tr>
|
|
15246
15595
|
<tr class="doc-section-item">
|
|
15247
|
-
<td><code>field_names</code></td>
|
|
15248
15596
|
<td>
|
|
15249
|
-
|
|
15597
|
+
<code>field_names</code>
|
|
15598
|
+
</td>
|
|
15599
|
+
<td>
|
|
15600
|
+
<code>list[str]</code>
|
|
15250
15601
|
</td>
|
|
15251
15602
|
<td>
|
|
15252
15603
|
<div class="doc-md-description">
|
|
@@ -15258,9 +15609,11 @@ and return them grouped by app.</p>
|
|
|
15258
15609
|
</td>
|
|
15259
15610
|
</tr>
|
|
15260
15611
|
<tr class="doc-section-item">
|
|
15261
|
-
<td><code>field_attributes</code></td>
|
|
15262
15612
|
<td>
|
|
15263
|
-
|
|
15613
|
+
<code>field_attributes</code>
|
|
15614
|
+
</td>
|
|
15615
|
+
<td>
|
|
15616
|
+
<code>dict</code>
|
|
15264
15617
|
</td>
|
|
15265
15618
|
<td>
|
|
15266
15619
|
<div class="doc-md-description">
|
|
@@ -15272,9 +15625,11 @@ and return them grouped by app.</p>
|
|
|
15272
15625
|
</td>
|
|
15273
15626
|
</tr>
|
|
15274
15627
|
<tr class="doc-section-item">
|
|
15275
|
-
<td><code>additional_constraints</code></td>
|
|
15276
15628
|
<td>
|
|
15277
|
-
|
|
15629
|
+
<code>additional_constraints</code>
|
|
15630
|
+
</td>
|
|
15631
|
+
<td>
|
|
15632
|
+
<code>dict</code>
|
|
15278
15633
|
</td>
|
|
15279
15634
|
<td>
|
|
15280
15635
|
<div class="doc-md-description">
|
|
@@ -15308,7 +15663,7 @@ and return them grouped by app.</p>
|
|
|
15308
15663
|
|
|
15309
15664
|
<div class="doc doc-contents ">
|
|
15310
15665
|
|
|
15311
|
-
|
|
15666
|
+
<p>Get a list of all non-abstract models that inherit from the given base_class.</p>
|
|
15312
15667
|
|
|
15313
15668
|
</div>
|
|
15314
15669
|
|
|
@@ -15325,7 +15680,7 @@ and return them grouped by app.</p>
|
|
|
15325
15680
|
|
|
15326
15681
|
<div class="doc doc-contents ">
|
|
15327
15682
|
|
|
15328
|
-
|
|
15683
|
+
<p>Return the Global namespace.</p>
|
|
15329
15684
|
|
|
15330
15685
|
</div>
|
|
15331
15686
|
|
|
@@ -15342,7 +15697,7 @@ and return them grouped by app.</p>
|
|
|
15342
15697
|
|
|
15343
15698
|
<div class="doc doc-contents ">
|
|
15344
15699
|
|
|
15345
|
-
|
|
15700
|
+
<p>Return the PK of the Global namespace for use in default value for foreign keys.</p>
|
|
15346
15701
|
|
|
15347
15702
|
</div>
|
|
15348
15703
|
|
|
@@ -15359,7 +15714,7 @@ and return them grouped by app.</p>
|
|
|
15359
15714
|
|
|
15360
15715
|
<div class="doc doc-contents ">
|
|
15361
15716
|
|
|
15362
|
-
|
|
15717
|
+
<p>Return True if the instance can have Tags assigned to it; False otherwise.</p>
|
|
15363
15718
|
|
|
15364
15719
|
</div>
|
|
15365
15720
|
|
|
@@ -15376,7 +15731,7 @@ and return them grouped by app.</p>
|
|
|
15376
15731
|
|
|
15377
15732
|
<div class="doc doc-contents ">
|
|
15378
15733
|
|
|
15379
|
-
|
|
15734
|
+
<p>Take an alphanumeric string and prepend all integers to <code>integer_places</code> places to ensure the strings
|
|
15380
15735
|
are ordered naturally. For example:</p>
|
|
15381
15736
|
<div class="highlight"><pre><span></span><code>location9router21
|
|
15382
15737
|
location10router4
|
|
@@ -15406,7 +15761,7 @@ location00000010router00000019
|
|
|
15406
15761
|
|
|
15407
15762
|
<div class="doc doc-contents ">
|
|
15408
15763
|
|
|
15409
|
-
|
|
15764
|
+
<p>Similar in nature to naturalize(), but takes into account a particular naming format adapted from the old
|
|
15410
15765
|
InterfaceManager.</p>
|
|
15411
15766
|
<p>:param value: The value to be naturalized
|
|
15412
15767
|
:param max_length: The maximum length of the returned string. Characters beyond this length will be stripped.</p>
|
|
@@ -15426,7 +15781,7 @@ InterfaceManager.</p>
|
|
|
15426
15781
|
|
|
15427
15782
|
<div class="doc doc-contents ">
|
|
15428
15783
|
|
|
15429
|
-
|
|
15784
|
+
<p>Given a <code>Q</code> object, display it in a more human-readable format.</p>
|
|
15430
15785
|
|
|
15431
15786
|
|
|
15432
15787
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -15441,9 +15796,11 @@ InterfaceManager.</p>
|
|
|
15441
15796
|
</thead>
|
|
15442
15797
|
<tbody>
|
|
15443
15798
|
<tr class="doc-section-item">
|
|
15444
|
-
<td><code>query</code></td>
|
|
15445
15799
|
<td>
|
|
15446
|
-
|
|
15800
|
+
<code>query</code>
|
|
15801
|
+
</td>
|
|
15802
|
+
<td>
|
|
15803
|
+
<code>Q</code>
|
|
15447
15804
|
</td>
|
|
15448
15805
|
<td>
|
|
15449
15806
|
<div class="doc-md-description">
|
|
@@ -15469,7 +15826,7 @@ InterfaceManager.</p>
|
|
|
15469
15826
|
<tbody>
|
|
15470
15827
|
<tr class="doc-section-item">
|
|
15471
15828
|
<td>
|
|
15472
|
-
<code
|
|
15829
|
+
<code>str</code>
|
|
15473
15830
|
</td>
|
|
15474
15831
|
<td>
|
|
15475
15832
|
<div class="doc-md-description">
|
|
@@ -15515,7 +15872,7 @@ InterfaceManager.</p>
|
|
|
15515
15872
|
|
|
15516
15873
|
<div class="doc doc-contents ">
|
|
15517
15874
|
|
|
15518
|
-
|
|
15875
|
+
<p>Return a generic JSON representation of an object using Django's built-in serializer. (This is used for things like
|
|
15519
15876
|
change logging, not the REST API.) Optionally include a dictionary to supplement the object data. A list of keys
|
|
15520
15877
|
can be provided to exclude them from the returned dictionary. Private fields (prefaced with an underscore) are
|
|
15521
15878
|
implicitly excluded.</p>
|
|
@@ -15535,7 +15892,7 @@ implicitly excluded.</p>
|
|
|
15535
15892
|
|
|
15536
15893
|
<div class="doc doc-contents ">
|
|
15537
15894
|
|
|
15538
|
-
|
|
15895
|
+
<p>Return a JSON serialized representation of an object using obj's serializer.</p>
|
|
15539
15896
|
|
|
15540
15897
|
</div>
|
|
15541
15898
|
|
|
@@ -15552,7 +15909,7 @@ implicitly excluded.</p>
|
|
|
15552
15909
|
|
|
15553
15910
|
<div class="doc doc-contents ">
|
|
15554
15911
|
|
|
15555
|
-
|
|
15912
|
+
<p>Custom slugify_function - use underscores instead of dashes; resulting slug can be used as a variable name,
|
|
15556
15913
|
as well as a graphql safe string.
|
|
15557
15914
|
Note: If content starts with a non graphql-safe character, e.g. a digit
|
|
15558
15915
|
This method will prepend an "a" to content to make it graphql-safe
|
|
@@ -15574,7 +15931,7 @@ e.g:
|
|
|
15574
15931
|
|
|
15575
15932
|
<div class="doc doc-contents ">
|
|
15576
15933
|
|
|
15577
|
-
|
|
15934
|
+
<p>Custom slugify_function - convert '.' to '-' instead of removing dots outright.</p>
|
|
15578
15935
|
|
|
15579
15936
|
</div>
|
|
15580
15937
|
|
|
@@ -15683,7 +16040,7 @@ e.g:
|
|
|
15683
16040
|
|
|
15684
16041
|
|
|
15685
16042
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
15686
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
16043
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
|
|
15687
16044
|
</a>
|
|
15688
16045
|
|
|
15689
16046
|
|
|
@@ -15691,7 +16048,7 @@ e.g:
|
|
|
15691
16048
|
|
|
15692
16049
|
|
|
15693
16050
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
15694
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.
|
|
16051
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></svg>
|
|
15695
16052
|
</a>
|
|
15696
16053
|
|
|
15697
16054
|
|
|
@@ -15699,7 +16056,7 @@ e.g:
|
|
|
15699
16056
|
|
|
15700
16057
|
|
|
15701
16058
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
15702
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.
|
|
16059
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg>
|
|
15703
16060
|
</a>
|
|
15704
16061
|
|
|
15705
16062
|
|
|
@@ -15707,7 +16064,7 @@ e.g:
|
|
|
15707
16064
|
|
|
15708
16065
|
|
|
15709
16066
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
15710
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.
|
|
16067
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
|
|
15711
16068
|
</a>
|
|
15712
16069
|
|
|
15713
16070
|
|
|
@@ -15715,7 +16072,7 @@ e.g:
|
|
|
15715
16072
|
|
|
15716
16073
|
|
|
15717
16074
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
15718
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.
|
|
16075
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></svg>
|
|
15719
16076
|
</a>
|
|
15720
16077
|
|
|
15721
16078
|
</div>
|
|
@@ -15730,10 +16087,10 @@ e.g:
|
|
|
15730
16087
|
</div>
|
|
15731
16088
|
|
|
15732
16089
|
|
|
15733
|
-
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.
|
|
16090
|
+
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.f8cc74c7.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
15734
16091
|
|
|
15735
16092
|
|
|
15736
|
-
<script src="../../../assets/javascripts/bundle.
|
|
16093
|
+
<script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
|
|
15737
16094
|
|
|
15738
16095
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
15739
16096
|
|