nautobot 2.4.14__py3-none-any.whl → 2.4.15__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.

Files changed (433) hide show
  1. nautobot/apps/choices.py +8 -0
  2. nautobot/apps/ui.py +14 -0
  3. nautobot/core/api/views.py +2 -0
  4. nautobot/core/choices.py +4 -0
  5. nautobot/core/filters.py +21 -41
  6. nautobot/core/management/commands/check_job_approval_status.py +47 -0
  7. nautobot/core/management/commands/generate_test_data.py +1 -1
  8. nautobot/core/management/commands/migrate.py +1 -1
  9. nautobot/core/models/tree_queries.py +17 -0
  10. nautobot/core/settings.py +2 -2
  11. nautobot/core/tables.py +25 -2
  12. nautobot/core/templates/base_django.html +1 -1
  13. nautobot/core/templates/components/panel/header_extra_content_table.html +1 -1
  14. nautobot/core/templates/generic/object_list.html +17 -20
  15. nautobot/core/templates/inc/breadcrumbs.html +14 -0
  16. nautobot/core/templatetags/buttons.py +2 -4
  17. nautobot/core/templatetags/helpers.py +29 -6
  18. nautobot/core/templatetags/ui_framework.py +21 -0
  19. nautobot/core/testing/filters.py +20 -3
  20. nautobot/core/testing/forms.py +1 -1
  21. nautobot/core/tests/integration/test_filters.py +2 -2
  22. nautobot/core/tests/test_breadcrumbs.py +366 -0
  23. nautobot/core/tests/test_commands.py +40 -0
  24. nautobot/core/tests/test_filters.py +51 -1
  25. nautobot/core/tests/test_forms.py +1 -1
  26. nautobot/core/tests/test_graphql.py +4 -4
  27. nautobot/core/tests/test_titles.py +183 -0
  28. nautobot/core/tests/test_tree_queries.py +30 -0
  29. nautobot/core/tests/test_views.py +2 -2
  30. nautobot/core/tests/test_views_utils.py +1 -1
  31. nautobot/core/ui/breadcrumbs.py +538 -0
  32. nautobot/core/ui/bulk_buttons.py +53 -0
  33. nautobot/core/ui/object_detail.py +31 -8
  34. nautobot/core/ui/titles.py +127 -0
  35. nautobot/core/ui/utils.py +25 -0
  36. nautobot/core/utils/migrations.py +1 -1
  37. nautobot/core/views/__init__.py +1 -1
  38. nautobot/core/views/mixins.py +26 -1
  39. nautobot/core/views/renderers.py +20 -2
  40. nautobot/core/views/utils.py +13 -12
  41. nautobot/dcim/api/serializers.py +9 -0
  42. nautobot/dcim/choices.py +53 -0
  43. nautobot/dcim/filters/__init__.py +15 -3
  44. nautobot/dcim/forms.py +120 -7
  45. nautobot/dcim/management/commands/trace_paths.py +1 -1
  46. nautobot/dcim/migrations/0072_alter_powerfeed_options_and_more.py +97 -0
  47. nautobot/dcim/models/device_component_templates.py +8 -0
  48. nautobot/dcim/models/device_components.py +31 -12
  49. nautobot/dcim/models/devices.py +1 -1
  50. nautobot/dcim/models/power.py +171 -10
  51. nautobot/dcim/models/racks.py +7 -4
  52. nautobot/dcim/tables/devices.py +2 -0
  53. nautobot/dcim/tables/devicetypes.py +1 -0
  54. nautobot/dcim/tables/power.py +30 -2
  55. nautobot/dcim/templates/dcim/device.html +2 -2
  56. nautobot/dcim/templates/dcim/devicetype_retrieve.html +1 -214
  57. nautobot/dcim/templates/dcim/location_retrieve.html +2 -2
  58. nautobot/dcim/templates/dcim/powerfeed_edit.html +8 -0
  59. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -1
  60. nautobot/dcim/tests/integration/test_device_bulk_operations.py +61 -0
  61. nautobot/dcim/tests/test_api.py +24 -4
  62. nautobot/dcim/tests/test_filters.py +91 -13
  63. nautobot/dcim/tests/test_models.py +262 -0
  64. nautobot/dcim/tests/test_views.py +20 -12
  65. nautobot/dcim/utils.py +9 -0
  66. nautobot/dcim/views.py +390 -77
  67. nautobot/extras/factory.py +19 -20
  68. nautobot/extras/filters/__init__.py +3 -2
  69. nautobot/extras/filters/mixins.py +15 -1
  70. nautobot/extras/forms/__init__.py +2 -1
  71. nautobot/extras/forms/forms.py +62 -0
  72. nautobot/extras/managers.py +4 -1
  73. nautobot/extras/migrations/0125_jobresult_date_started.py +18 -0
  74. nautobot/extras/models/customfields.py +1 -2
  75. nautobot/extras/models/datasources.py +1 -2
  76. nautobot/extras/models/jobs.py +7 -3
  77. nautobot/extras/plugins/views.py +24 -1
  78. nautobot/extras/secrets/__init__.py +1 -1
  79. nautobot/extras/tables.py +9 -0
  80. nautobot/extras/templates/extras/customfield.html +2 -129
  81. nautobot/extras/templates/extras/customfield_edit.html +2 -108
  82. nautobot/extras/templates/extras/customfield_retrieve.html +129 -0
  83. nautobot/extras/templates/extras/customfield_update.html +108 -0
  84. nautobot/extras/templates/extras/inc/jobresult.html +7 -3
  85. nautobot/extras/templates/extras/jobresult.html +2 -155
  86. nautobot/extras/templates/extras/jobresult_retrieve.html +155 -0
  87. nautobot/extras/templates/extras/marketplace.html +5 -6
  88. nautobot/extras/templates/extras/note.html +2 -53
  89. nautobot/extras/templates/extras/note_retrieve.html +53 -0
  90. nautobot/extras/templates/extras/plugins_list.html +5 -6
  91. nautobot/extras/templatetags/custom_links.py +2 -2
  92. nautobot/extras/templatetags/job_buttons.py +1 -1
  93. nautobot/extras/templatetags/plugins.py +1 -1
  94. nautobot/extras/tests/integration/test_computedfields.py +2 -2
  95. nautobot/extras/tests/integration/test_customfields.py +14 -11
  96. nautobot/extras/tests/integration/test_dynamicgroups.py +1 -1
  97. nautobot/extras/tests/integration/test_notes.py +1 -1
  98. nautobot/extras/tests/integration/test_plugins.py +6 -6
  99. nautobot/extras/tests/integration/test_relationships.py +2 -2
  100. nautobot/extras/tests/test_filters.py +9 -0
  101. nautobot/extras/tests/test_forms.py +2 -2
  102. nautobot/extras/tests/test_plugins.py +2 -3
  103. nautobot/extras/tests/test_relationships.py +7 -7
  104. nautobot/extras/tests/test_views.py +172 -1
  105. nautobot/extras/urls.py +3 -59
  106. nautobot/extras/utils.py +1 -1
  107. nautobot/extras/views.py +77 -178
  108. nautobot/ipam/tables.py +8 -15
  109. nautobot/ipam/tests/migration/test_migrations.py +8 -8
  110. nautobot/ipam/tests/test_api.py +2 -2
  111. nautobot/ipam/tests/test_models.py +1 -1
  112. nautobot/project-static/docs/404.html +23 -0
  113. nautobot/project-static/docs/apps/index.html +23 -0
  114. nautobot/project-static/docs/apps/nautobot-apps.html +23 -0
  115. nautobot/project-static/docs/assets/_mkdocstrings.css +44 -6
  116. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +28 -0
  117. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +25 -0
  118. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +128 -20
  119. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +37 -4
  120. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +39 -6
  121. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +25 -0
  122. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +24 -0
  123. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +32 -5
  124. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +41 -8
  125. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +39 -7
  126. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +43 -10
  127. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +74 -59
  128. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +143 -28
  129. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +43 -12
  130. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +135 -53
  131. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +229 -36
  132. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +27 -1
  133. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +30 -1
  134. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +162 -18
  135. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +258 -51
  136. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +5987 -2620
  137. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +25 -0
  138. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +154 -55
  139. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +150 -35
  140. nautobot/project-static/docs/development/apps/api/configuration-view.html +23 -0
  141. nautobot/project-static/docs/development/apps/api/database-backend-config.html +23 -0
  142. nautobot/project-static/docs/development/apps/api/models/django-admin.html +23 -0
  143. nautobot/project-static/docs/development/apps/api/models/global-search.html +23 -0
  144. nautobot/project-static/docs/development/apps/api/models/graphql.html +23 -0
  145. nautobot/project-static/docs/development/apps/api/models/index.html +23 -0
  146. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +23 -0
  147. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +23 -0
  148. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +23 -0
  149. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +23 -0
  150. nautobot/project-static/docs/development/apps/api/platform-features/index.html +23 -0
  151. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +23 -0
  152. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +23 -0
  153. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +23 -0
  154. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +23 -0
  155. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +23 -0
  156. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +23 -0
  157. nautobot/project-static/docs/development/apps/api/prometheus.html +23 -0
  158. nautobot/project-static/docs/development/apps/api/setup.html +23 -0
  159. nautobot/project-static/docs/development/apps/api/testing.html +23 -0
  160. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +23 -0
  161. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +23 -0
  162. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +23 -0
  163. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +23 -0
  164. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +23 -0
  165. nautobot/project-static/docs/development/apps/api/views/base-template.html +23 -0
  166. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +23 -0
  167. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +23 -0
  168. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +23 -0
  169. nautobot/project-static/docs/development/apps/api/views/index.html +23 -0
  170. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +23 -0
  171. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +31 -2
  172. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +23 -0
  173. nautobot/project-static/docs/development/apps/api/views/notes.html +23 -0
  174. nautobot/project-static/docs/development/apps/api/views/rest-api.html +23 -0
  175. nautobot/project-static/docs/development/apps/api/views/urls.html +23 -0
  176. nautobot/project-static/docs/development/apps/index.html +23 -0
  177. nautobot/project-static/docs/development/apps/migration/code-updates.html +23 -0
  178. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +23 -0
  179. nautobot/project-static/docs/development/apps/migration/from-v1.html +23 -0
  180. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +23 -0
  181. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +23 -0
  182. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +23 -0
  183. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +23 -0
  184. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +26 -3
  185. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +10544 -0
  186. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +23 -0
  187. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +23 -0
  188. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +23 -0
  189. nautobot/project-static/docs/development/apps/porting-from-netbox.html +26 -3
  190. nautobot/project-static/docs/development/core/application-registry.html +23 -0
  191. nautobot/project-static/docs/development/core/best-practices.html +23 -0
  192. nautobot/project-static/docs/development/core/bootstrap-ui.html +23 -0
  193. nautobot/project-static/docs/development/core/caching.html +23 -0
  194. nautobot/project-static/docs/development/core/controllers.html +23 -0
  195. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +23 -0
  196. nautobot/project-static/docs/development/core/generic-views.html +23 -0
  197. nautobot/project-static/docs/development/core/getting-started.html +23 -0
  198. nautobot/project-static/docs/development/core/homepage.html +23 -0
  199. nautobot/project-static/docs/development/core/index.html +23 -0
  200. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +23 -0
  201. nautobot/project-static/docs/development/core/model-checklist.html +23 -0
  202. nautobot/project-static/docs/development/core/model-features.html +23 -0
  203. nautobot/project-static/docs/development/core/natural-keys.html +23 -0
  204. nautobot/project-static/docs/development/core/navigation-menu.html +23 -0
  205. nautobot/project-static/docs/development/core/release-checklist.html +23 -0
  206. nautobot/project-static/docs/development/core/role-internals.html +23 -0
  207. nautobot/project-static/docs/development/core/settings.html +23 -0
  208. nautobot/project-static/docs/development/core/style-guide.html +23 -0
  209. nautobot/project-static/docs/development/core/templates.html +23 -0
  210. nautobot/project-static/docs/development/core/testing.html +23 -0
  211. nautobot/project-static/docs/development/core/ui-component-framework.html +713 -255
  212. nautobot/project-static/docs/development/core/user-preferences.html +23 -0
  213. nautobot/project-static/docs/development/index.html +23 -0
  214. nautobot/project-static/docs/development/jobs/getting-started.html +23 -0
  215. nautobot/project-static/docs/development/jobs/index.html +23 -0
  216. nautobot/project-static/docs/development/jobs/installation.html +23 -0
  217. nautobot/project-static/docs/development/jobs/job-extensions.html +23 -0
  218. nautobot/project-static/docs/development/jobs/job-logging.html +23 -0
  219. nautobot/project-static/docs/development/jobs/job-patterns.html +23 -0
  220. nautobot/project-static/docs/development/jobs/job-structure.html +23 -0
  221. nautobot/project-static/docs/development/jobs/migration/from-v1.html +23 -0
  222. nautobot/project-static/docs/development/jobs/testing.html +23 -0
  223. nautobot/project-static/docs/index.html +23 -0
  224. nautobot/project-static/docs/media/development/core/ui-component-framework/breadcrumbs-titles-data-flow.png +0 -0
  225. nautobot/project-static/docs/media/power_distribution.png +0 -0
  226. nautobot/project-static/docs/objects.inv +0 -0
  227. nautobot/project-static/docs/overview/application_stack.html +23 -0
  228. nautobot/project-static/docs/overview/design_philosophy.html +23 -0
  229. nautobot/project-static/docs/release-notes/index.html +23 -0
  230. nautobot/project-static/docs/release-notes/version-1.0.html +23 -0
  231. nautobot/project-static/docs/release-notes/version-1.1.html +23 -0
  232. nautobot/project-static/docs/release-notes/version-1.2.html +23 -0
  233. nautobot/project-static/docs/release-notes/version-1.3.html +23 -0
  234. nautobot/project-static/docs/release-notes/version-1.4.html +23 -0
  235. nautobot/project-static/docs/release-notes/version-1.5.html +23 -0
  236. nautobot/project-static/docs/release-notes/version-1.6.html +23 -0
  237. nautobot/project-static/docs/release-notes/version-2.0.html +23 -0
  238. nautobot/project-static/docs/release-notes/version-2.1.html +23 -0
  239. nautobot/project-static/docs/release-notes/version-2.2.html +23 -0
  240. nautobot/project-static/docs/release-notes/version-2.3.html +23 -0
  241. nautobot/project-static/docs/release-notes/version-2.4.html +231 -0
  242. nautobot/project-static/docs/requirements.txt +2 -2
  243. nautobot/project-static/docs/search/search_index.json +1 -1
  244. nautobot/project-static/docs/sitemap.xml +303 -299
  245. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  246. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +23 -0
  247. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +23 -0
  248. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +23 -0
  249. nautobot/project-static/docs/user-guide/administration/configuration/index.html +23 -0
  250. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +23 -0
  251. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +23 -0
  252. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +23 -0
  253. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +23 -0
  254. nautobot/project-static/docs/user-guide/administration/guides/docker.html +23 -0
  255. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +23 -0
  256. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +23 -0
  257. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +23 -0
  258. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +23 -0
  259. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +23 -0
  260. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +23 -0
  261. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +23 -0
  262. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +23 -0
  263. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +23 -0
  264. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +23 -0
  265. nautobot/project-static/docs/user-guide/administration/installation/index.html +23 -0
  266. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +23 -0
  267. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +23 -0
  268. nautobot/project-static/docs/user-guide/administration/installation/services.html +23 -0
  269. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +23 -0
  270. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +23 -0
  271. nautobot/project-static/docs/user-guide/administration/security/index.html +23 -0
  272. nautobot/project-static/docs/user-guide/administration/security/notices.html +23 -0
  273. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +284 -219
  274. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +23 -0
  275. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +23 -0
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +23 -0
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +23 -0
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +23 -0
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +23 -0
  280. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +23 -0
  281. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +23 -0
  282. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +23 -0
  283. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +23 -0
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +23 -0
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +23 -0
  286. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +23 -0
  287. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +23 -0
  288. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +23 -0
  289. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +23 -0
  290. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +23 -0
  291. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +23 -0
  292. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +23 -0
  293. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +23 -0
  294. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +23 -0
  295. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +23 -0
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +23 -0
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +23 -0
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +23 -0
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +23 -0
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +23 -0
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +23 -0
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +23 -0
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +23 -0
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +23 -0
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +23 -0
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +23 -0
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +23 -0
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +23 -0
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +23 -0
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +23 -0
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +23 -0
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +23 -0
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +23 -0
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +23 -0
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +23 -0
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +23 -0
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +23 -0
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +23 -0
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +23 -0
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +23 -0
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +23 -0
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +23 -0
  323. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +23 -0
  324. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +305 -5
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +24 -1
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +23 -0
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +136 -3
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +41 -1
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +40 -0
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +23 -0
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +23 -0
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +23 -0
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +23 -0
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +23 -0
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +23 -0
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +23 -0
  337. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +23 -0
  338. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +23 -0
  339. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +23 -0
  340. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +23 -0
  341. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +23 -0
  342. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +23 -0
  343. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +23 -0
  344. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +23 -0
  345. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +23 -0
  346. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +23 -0
  347. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +23 -0
  348. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +23 -0
  349. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +23 -0
  350. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +23 -0
  351. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +23 -0
  352. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +23 -0
  353. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +23 -0
  354. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +23 -0
  355. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +23 -0
  356. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +23 -0
  357. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +23 -0
  358. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +23 -0
  359. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +23 -0
  360. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +23 -0
  361. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +23 -0
  362. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +23 -0
  363. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +23 -0
  364. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +23 -0
  365. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +23 -0
  366. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +23 -0
  367. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +23 -0
  368. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +23 -0
  369. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +23 -0
  370. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +23 -0
  371. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +23 -0
  372. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +23 -0
  373. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +23 -0
  374. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +23 -0
  375. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +23 -0
  376. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +23 -0
  377. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +23 -0
  378. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +23 -0
  379. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +23 -0
  380. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +23 -0
  381. nautobot/project-static/docs/user-guide/index.html +23 -0
  382. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +23 -0
  383. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +23 -0
  384. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +23 -0
  385. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +23 -0
  386. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +23 -0
  387. nautobot/project-static/docs/user-guide/platform-functionality/events.html +23 -0
  388. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +23 -0
  389. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +23 -0
  390. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +23 -0
  391. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +23 -0
  392. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +23 -0
  393. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +23 -0
  394. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +23 -0
  395. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +24 -1
  396. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +23 -0
  397. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +23 -0
  398. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +23 -0
  399. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +23 -0
  400. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +23 -0
  401. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +23 -0
  402. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +23 -0
  403. nautobot/project-static/docs/user-guide/platform-functionality/note.html +23 -0
  404. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +23 -0
  405. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +23 -0
  406. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +23 -0
  407. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +23 -0
  408. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +23 -0
  409. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +23 -0
  410. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +23 -0
  411. nautobot/project-static/docs/user-guide/platform-functionality/role.html +23 -0
  412. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +23 -0
  413. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +23 -0
  414. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +23 -0
  415. nautobot/project-static/docs/user-guide/platform-functionality/status.html +23 -0
  416. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +23 -0
  417. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +23 -0
  418. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +23 -0
  419. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +23 -0
  420. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +23 -0
  421. nautobot/users/tests/test_api.py +2 -2
  422. nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -252
  423. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -75
  424. nautobot/virtualization/templates/virtualization/virtualmachine_retrieve.html +252 -0
  425. nautobot/virtualization/templates/virtualization/virtualmachine_update.html +75 -0
  426. nautobot/virtualization/urls.py +3 -61
  427. nautobot/virtualization/views.py +48 -72
  428. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/METADATA +24 -24
  429. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/RECORD +433 -416
  430. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/LICENSE.txt +0 -0
  431. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/NOTICE +0 -0
  432. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/WHEEL +0 -0
  433. {nautobot-2.4.14.dist-info → nautobot-2.4.15.dist-info}/entry_points.txt +0 -0
@@ -9571,6 +9571,29 @@
9571
9571
 
9572
9572
 
9573
9573
 
9574
+
9575
+
9576
+
9577
+
9578
+
9579
+
9580
+ <li class="md-nav__item">
9581
+ <a href="../../../development/apps/migration/ui-component-framework/breadcrumbs-titles.html" class="md-nav__link">
9582
+
9583
+
9584
+
9585
+ <span class="md-ellipsis">
9586
+ Breadcrumbs and titles
9587
+
9588
+ </span>
9589
+
9590
+
9591
+ </a>
9592
+ </li>
9593
+
9594
+
9595
+
9596
+
9574
9597
  </ul>
9575
9598
  </nav>
9576
9599
 
@@ -11841,6 +11864,7 @@
11841
11864
 
11842
11865
 
11843
11866
 
11867
+
11844
11868
  <div class="doc doc-children">
11845
11869
 
11846
11870
 
@@ -11876,6 +11900,7 @@
11876
11900
 
11877
11901
 
11878
11902
 
11903
+
11879
11904
  <div class="doc doc-children">
11880
11905
 
11881
11906
 
@@ -11907,7 +11932,7 @@
11907
11932
 
11908
11933
  <div class="doc doc-contents ">
11909
11934
  <p class="doc doc-class-bases">
11910
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.OptInFieldsMixin" href="#nautobot.apps.api.OptInFieldsMixin">OptInFieldsMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedModelSerializer">HyperlinkedModelSerializer</span></code></p>
11935
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.OptInFieldsMixin (nautobot.core.api.serializers.OptInFieldsMixin)" href="#nautobot.apps.api.OptInFieldsMixin">OptInFieldsMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedModelSerializer">HyperlinkedModelSerializer</span></code></p>
11911
11936
 
11912
11937
 
11913
11938
  <p>This base serializer implements common fields and logic for all ModelSerializers.</p>
@@ -11932,6 +11957,7 @@
11932
11957
 
11933
11958
 
11934
11959
 
11960
+
11935
11961
  <div class="doc doc-children">
11936
11962
 
11937
11963
 
@@ -11957,6 +11983,7 @@
11957
11983
  <div class="doc doc-contents ">
11958
11984
 
11959
11985
  <p>Return whether this is a nested serializer.</p>
11986
+
11960
11987
  </div>
11961
11988
 
11962
11989
  </div>
@@ -11978,6 +12005,7 @@
11978
12005
  <p>The force_csv kwarg allows you to force _is_csv_request() to evaluate True without passing a Request object,
11979
12006
  which is necessary to be able to export appropriately structured CSV from a Job that doesn't have a Request.</p>
11980
12007
 
12008
+
11981
12009
  </div>
11982
12010
 
11983
12011
  </div>
@@ -11995,6 +12023,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
11995
12023
 
11996
12024
  <p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
11997
12025
 
12026
+
11998
12027
  </div>
11999
12028
 
12000
12029
  </div>
@@ -12012,6 +12041,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
12012
12041
 
12013
12042
  <p>Create a property field for model methods and properties.</p>
12014
12043
 
12044
+
12015
12045
  </div>
12016
12046
 
12017
12047
  </div>
@@ -12029,6 +12059,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
12029
12059
 
12030
12060
  <p>Override DRF's default relational-field construction to be app-aware.</p>
12031
12061
 
12062
+
12032
12063
  </div>
12033
12064
 
12034
12065
  </div>
@@ -12046,6 +12077,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
12046
12077
 
12047
12078
  <p>Override DRF's default 'url' field construction to be app-aware.</p>
12048
12079
 
12080
+
12049
12081
  </div>
12050
12082
 
12051
12083
  </div>
@@ -12063,6 +12095,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
12063
12095
 
12064
12096
  <p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
12065
12097
 
12098
+
12066
12099
  </div>
12067
12100
 
12068
12101
  </div>
@@ -12080,6 +12113,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
12080
12113
 
12081
12114
  <p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
12082
12115
 
12116
+
12083
12117
  </div>
12084
12118
 
12085
12119
  </div>
@@ -12102,6 +12136,7 @@ like</code>display<code>,</code>created<code>, and</code>last_updated`. However,
12102
12136
  <p>The other purpose of this method now is to manipulate the set of fields that "<strong>all</strong>" actually means as a
12103
12137
  way of <em>excluding</em> fields that we <em>don't</em> want to include by default for performance or data exposure reasons.</p>
12104
12138
 
12139
+
12105
12140
  </div>
12106
12141
 
12107
12142
  </div>
@@ -12144,6 +12179,7 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
12144
12179
 
12145
12180
 
12146
12181
 
12182
+
12147
12183
  <div class="doc doc-children">
12148
12184
 
12149
12185
 
@@ -12199,6 +12235,7 @@ For example:</p>
12199
12235
 
12200
12236
 
12201
12237
 
12238
+
12202
12239
  <div class="doc doc-children">
12203
12240
 
12204
12241
 
@@ -12245,6 +12282,7 @@ For example:</p>
12245
12282
 
12246
12283
 
12247
12284
 
12285
+
12248
12286
  <div class="doc doc-children">
12249
12287
 
12250
12288
 
@@ -12289,6 +12327,7 @@ For example:</p>
12289
12327
 
12290
12328
 
12291
12329
 
12330
+
12292
12331
  <div class="doc doc-children">
12293
12332
 
12294
12333
 
@@ -12320,7 +12359,7 @@ For example:</p>
12320
12359
 
12321
12360
  <div class="doc doc-contents ">
12322
12361
  <p class="doc doc-class-bases">
12323
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
12362
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ValidatedModelSerializer (nautobot.core.api.serializers.ValidatedModelSerializer)" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
12324
12363
 
12325
12364
 
12326
12365
  <p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
@@ -12333,6 +12372,7 @@ For example:</p>
12333
12372
 
12334
12373
 
12335
12374
 
12375
+
12336
12376
  <div class="doc doc-children">
12337
12377
 
12338
12378
 
@@ -12356,6 +12396,7 @@ For example:</p>
12356
12396
 
12357
12397
  <p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
12358
12398
 
12399
+
12359
12400
  </div>
12360
12401
 
12361
12402
  </div>
@@ -12381,7 +12422,7 @@ For example:</p>
12381
12422
 
12382
12423
  <div class="doc doc-contents ">
12383
12424
  <p class="doc doc-class-bases">
12384
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSet" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
12425
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ModelViewSet (nautobot.core.api.views.ModelViewSet)" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
12385
12426
 
12386
12427
 
12387
12428
  <p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
@@ -12394,6 +12435,7 @@ For example:</p>
12394
12435
 
12395
12436
 
12396
12437
 
12438
+
12397
12439
  <div class="doc doc-children">
12398
12440
 
12399
12441
 
@@ -12425,7 +12467,7 @@ For example:</p>
12425
12467
 
12426
12468
  <div class="doc doc-contents ">
12427
12469
  <p class="doc doc-class-bases">
12428
- Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkUpdateModelMixin" href="#nautobot.apps.api.BulkUpdateModelMixin">BulkUpdateModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkDestroyModelMixin" href="#nautobot.apps.api.BulkDestroyModelMixin">BulkDestroyModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ModelViewSet">ModelViewSet</span></code></p>
12470
+ Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BulkUpdateModelMixin (nautobot.core.api.views.BulkUpdateModelMixin)" href="#nautobot.apps.api.BulkUpdateModelMixin">BulkUpdateModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BulkDestroyModelMixin (nautobot.core.api.views.BulkDestroyModelMixin)" href="#nautobot.apps.api.BulkDestroyModelMixin">BulkDestroyModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ModelViewSetMixin (nautobot.core.api.views.ModelViewSetMixin)" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ModelViewSet">ModelViewSet</span></code></p>
12429
12471
 
12430
12472
 
12431
12473
  <p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
@@ -12438,6 +12480,7 @@ For example:</p>
12438
12480
 
12439
12481
 
12440
12482
 
12483
+
12441
12484
  <div class="doc doc-children">
12442
12485
 
12443
12486
 
@@ -12478,6 +12521,7 @@ For example:</p>
12478
12521
 
12479
12522
 
12480
12523
 
12524
+
12481
12525
  <div class="doc doc-children">
12482
12526
 
12483
12527
 
@@ -12501,6 +12545,7 @@ For example:</p>
12501
12545
 
12502
12546
  <p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
12503
12547
 
12548
+
12504
12549
  </div>
12505
12550
 
12506
12551
  </div>
@@ -12519,6 +12564,7 @@ For example:</p>
12519
12564
  <p>Attempt to optimize the queryset based on the fields present in the associated serializer.</p>
12520
12565
  <p>See similar logic in nautobot.core.tables.BaseTable.</p>
12521
12566
 
12567
+
12522
12568
  </div>
12523
12569
 
12524
12570
  </div>
@@ -12537,6 +12583,7 @@ For example:</p>
12537
12583
  <p>Runs anything that needs to occur prior to calling the method handler.</p>
12538
12584
  <p>Override of internal Django Rest Framework API.</p>
12539
12585
 
12586
+
12540
12587
  </div>
12541
12588
 
12542
12589
  </div>
@@ -12556,6 +12603,7 @@ For example:</p>
12556
12603
  <p>Subclasses (such as nautobot.extras.api.views.JobModelViewSet) may wish to override this.</p>
12557
12604
  <p>Called by initial(), below.</p>
12558
12605
 
12606
+
12559
12607
  </div>
12560
12608
 
12561
12609
  </div>
@@ -12594,6 +12642,7 @@ For example:</p>
12594
12642
 
12595
12643
 
12596
12644
 
12645
+
12597
12646
  <div class="doc doc-children">
12598
12647
 
12599
12648
 
@@ -12617,6 +12666,7 @@ For example:</p>
12617
12666
 
12618
12667
  <p>Overload default choices handling to also accept a callable.</p>
12619
12668
 
12669
+
12620
12670
  </div>
12621
12671
 
12622
12672
  </div>
@@ -12655,6 +12705,7 @@ For example:</p>
12655
12705
 
12656
12706
 
12657
12707
 
12708
+
12658
12709
  <div class="doc doc-children">
12659
12710
 
12660
12711
 
@@ -12680,6 +12731,7 @@ For example:</p>
12680
12731
  <div class="doc doc-contents ">
12681
12732
 
12682
12733
  <p>Custom property for convenience.</p>
12734
+
12683
12735
  </div>
12684
12736
 
12685
12737
  </div>
@@ -12701,6 +12753,7 @@ For example:</p>
12701
12753
  <div class="doc doc-contents ">
12702
12754
 
12703
12755
  <p>Custom property for convenience.</p>
12756
+
12704
12757
  </div>
12705
12758
 
12706
12759
  </div>
@@ -12726,6 +12779,7 @@ docstring of the <code>NautobotModelViewSet</code> class, which isn't very usefu
12726
12779
  we only use the docstring of the view itself (ignoring its parent class docstrings), or if none exists, we
12727
12780
  make an attempt at rendering a basically accurate default description.</p>
12728
12781
 
12782
+
12729
12783
  </div>
12730
12784
 
12731
12785
  </div>
@@ -12743,6 +12797,7 @@ make an attempt at rendering a basically accurate default description.</p>
12743
12797
 
12744
12798
  <p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
12745
12799
 
12800
+
12746
12801
  </div>
12747
12802
 
12748
12803
  </div>
@@ -12764,6 +12819,7 @@ about operationId collisions, e.g. between DELETE /api/dcim/devices/ and DELETE
12764
12819
  both get resolved to the same "dcim_devices_destroy" operation-id and this would make drf-spectacular complain.</p>
12765
12820
  <p>With this extension, the bulk endpoints automatically get a different operation-id from the non-bulk endpoints.</p>
12766
12821
 
12822
+
12767
12823
  </div>
12768
12824
 
12769
12825
  </div>
@@ -12786,6 +12842,7 @@ WritableFooSerializer class in order to more accurately represent the available
12786
12842
  <p>We also override for the case where the endpoint is one of Nautobot's custom bulk API endpoints, which
12787
12843
  require a list of serializers as input, rather than a single one.</p>
12788
12844
 
12845
+
12789
12846
  </div>
12790
12847
 
12791
12848
  </div>
@@ -12805,6 +12862,7 @@ require a list of serializers as input, rather than a single one.</p>
12805
12862
  <p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
12806
12863
  to a bulk endpoint, which returns a list of serializers, rather than a single one.</p>
12807
12864
 
12865
+
12808
12866
  </div>
12809
12867
 
12810
12868
  </div>
@@ -12823,6 +12881,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
12823
12881
  <p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
12824
12882
  <p>Based on drf_yasg.utils.get_serializer_ref_name().</p>
12825
12883
 
12884
+
12826
12885
  </div>
12827
12886
 
12828
12887
  </div>
@@ -12841,6 +12900,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
12841
12900
  <p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
12842
12901
  <p>If no [Bulk]WritableFooSerializer class is needed, returns None instead.</p>
12843
12902
 
12903
+
12844
12904
  </div>
12845
12905
 
12846
12906
  </div>
@@ -12860,6 +12920,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
12860
12920
  <p>drf-spectacular clears the <code>required</code> list for any partial serializers in its <code>_map_basic_serializer()</code>,
12861
12921
  but Nautobot bulk partial updates require the <code>id</code> field to be specified for each object to update.</p>
12862
12922
 
12923
+
12863
12924
  </div>
12864
12925
 
12865
12926
  </div>
@@ -12898,6 +12959,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
12898
12959
 
12899
12960
 
12900
12961
 
12962
+
12901
12963
  <div class="doc doc-children">
12902
12964
 
12903
12965
 
@@ -12923,6 +12985,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
12923
12985
  <p>TODO: it would be more elegant if our serializer fields knew how to deserialize the CSV data themselves;
12924
12986
  could we then literally have the parser just return list(reader) and not need this function at all?</p>
12925
12987
 
12988
+
12926
12989
  </div>
12927
12990
 
12928
12991
  </div>
@@ -12948,7 +13011,7 @@ could we then literally have the parser just return list(reader) and not need th
12948
13011
 
12949
13012
  <div class="doc doc-contents ">
12950
13013
  <p class="doc doc-class-bases">
12951
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.mixins.WritableSerializerMixin" href="#nautobot.apps.api.WritableSerializerMixin">WritableSerializerMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedRelatedField">HyperlinkedRelatedField</span></code></p>
13014
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.WritableSerializerMixin (nautobot.core.api.mixins.WritableSerializerMixin)" href="#nautobot.apps.api.WritableSerializerMixin">WritableSerializerMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedRelatedField">HyperlinkedRelatedField</span></code></p>
12952
13015
 
12953
13016
 
12954
13017
  <p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
@@ -12961,6 +13024,7 @@ could we then literally have the parser just return list(reader) and not need th
12961
13024
 
12962
13025
 
12963
13026
 
13027
+
12964
13028
  <div class="doc doc-children">
12965
13029
 
12966
13030
 
@@ -12985,6 +13049,7 @@ could we then literally have the parser just return list(reader) and not need th
12985
13049
  <p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
12986
13050
  <p>DRF defaults to '{model_name}-detail' instead of '{app_label}:{model_name}-detail'.</p>
12987
13051
 
13052
+
12988
13053
  </div>
12989
13054
 
12990
13055
  </div>
@@ -13002,6 +13067,7 @@ could we then literally have the parser just return list(reader) and not need th
13002
13067
 
13003
13068
  <p>Convert potentially nested representation to a model instance.</p>
13004
13069
 
13070
+
13005
13071
  </div>
13006
13072
 
13007
13073
  </div>
@@ -13019,6 +13085,7 @@ could we then literally have the parser just return list(reader) and not need th
13019
13085
 
13020
13086
  <p>Convert URL representation to a brief nested representation.</p>
13021
13087
 
13088
+
13022
13089
  </div>
13023
13090
 
13024
13091
  </div>
@@ -13044,7 +13111,7 @@ could we then literally have the parser just return list(reader) and not need th
13044
13111
 
13045
13112
  <div class="doc doc-contents ">
13046
13113
  <p class="doc doc-class-bases">
13047
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.RelationshipModelSerializerMixin" href="#nautobot.apps.api.RelationshipModelSerializerMixin">RelationshipModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.CustomFieldModelSerializerMixin" href="#nautobot.apps.api.CustomFieldModelSerializerMixin">CustomFieldModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.NotesSerializerMixin" href="#nautobot.apps.api.NotesSerializerMixin">NotesSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
13114
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.RelationshipModelSerializerMixin (nautobot.core.api.serializers.RelationshipModelSerializerMixin)" href="#nautobot.apps.api.RelationshipModelSerializerMixin">RelationshipModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.CustomFieldModelSerializerMixin (nautobot.core.api.serializers.CustomFieldModelSerializerMixin)" href="#nautobot.apps.api.CustomFieldModelSerializerMixin">CustomFieldModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.NotesSerializerMixin (nautobot.core.api.serializers.NotesSerializerMixin)" href="#nautobot.apps.api.NotesSerializerMixin">NotesSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ValidatedModelSerializer (nautobot.core.api.serializers.ValidatedModelSerializer)" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
13048
13115
 
13049
13116
 
13050
13117
  <p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
@@ -13058,6 +13125,7 @@ could we then literally have the parser just return list(reader) and not need th
13058
13125
 
13059
13126
 
13060
13127
 
13128
+
13061
13129
  <div class="doc doc-children">
13062
13130
 
13063
13131
 
@@ -13089,7 +13157,7 @@ could we then literally have the parser just return list(reader) and not need th
13089
13157
 
13090
13158
  <div class="doc doc-contents ">
13091
13159
  <p class="doc doc-class-bases">
13092
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.NotesViewSetMixin" href="#nautobot.apps.api.NotesViewSetMixin">NotesViewSetMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.CustomFieldModelViewSet" href="#nautobot.apps.api.CustomFieldModelViewSet">CustomFieldModelViewSet</a></code></p>
13160
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.NotesViewSetMixin (nautobot.extras.api.views.NotesViewSetMixin)" href="#nautobot.apps.api.NotesViewSetMixin">NotesViewSetMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.CustomFieldModelViewSet (nautobot.extras.api.views.CustomFieldModelViewSet)" href="#nautobot.apps.api.CustomFieldModelViewSet">CustomFieldModelViewSet</a></code></p>
13093
13161
 
13094
13162
 
13095
13163
  <p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
@@ -13103,6 +13171,7 @@ could we then literally have the parser just return list(reader) and not need th
13103
13171
 
13104
13172
 
13105
13173
 
13174
+
13106
13175
  <div class="doc doc-children">
13107
13176
 
13108
13177
 
@@ -13134,7 +13203,7 @@ could we then literally have the parser just return list(reader) and not need th
13134
13203
 
13135
13204
  <div class="doc doc-contents ">
13136
13205
  <p class="doc doc-class-bases">
13137
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13206
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BaseModelSerializer (nautobot.core.api.serializers.BaseModelSerializer)" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13138
13207
 
13139
13208
 
13140
13209
  <p>Extend Serializer with a <code>notes</code> field.</p>
@@ -13147,6 +13216,7 @@ could we then literally have the parser just return list(reader) and not need th
13147
13216
 
13148
13217
 
13149
13218
 
13219
+
13150
13220
  <div class="doc doc-children">
13151
13221
 
13152
13222
 
@@ -13170,6 +13240,7 @@ could we then literally have the parser just return list(reader) and not need th
13170
13240
 
13171
13241
  <p>Ensure that fields includes "notes_url" field if applicable.</p>
13172
13242
 
13243
+
13173
13244
  </div>
13174
13245
 
13175
13246
  </div>
@@ -13204,6 +13275,7 @@ could we then literally have the parser just return list(reader) and not need th
13204
13275
 
13205
13276
 
13206
13277
 
13278
+
13207
13279
  <div class="doc doc-children">
13208
13280
 
13209
13281
 
@@ -13239,6 +13311,7 @@ could we then literally have the parser just return list(reader) and not need th
13239
13311
 
13240
13312
 
13241
13313
 
13314
+
13242
13315
  <div class="doc doc-children">
13243
13316
 
13244
13317
 
@@ -13271,6 +13344,7 @@ could we then literally have the parser just return list(reader) and not need th
13271
13344
 
13272
13345
  <p>API methods for returning or creating notes on an object.</p>
13273
13346
 
13347
+
13274
13348
  </div>
13275
13349
 
13276
13350
  </div>
@@ -13288,6 +13362,7 @@ could we then literally have the parser just return list(reader) and not need th
13288
13362
 
13289
13363
  <p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
13290
13364
 
13365
+
13291
13366
  </div>
13292
13367
 
13293
13368
  </div>
@@ -13326,6 +13401,7 @@ could we then literally have the parser just return list(reader) and not need th
13326
13401
 
13327
13402
 
13328
13403
 
13404
+
13329
13405
  <div class="doc doc-children">
13330
13406
 
13331
13407
 
@@ -13349,6 +13425,7 @@ could we then literally have the parser just return list(reader) and not need th
13349
13425
 
13350
13426
  <p>Default read_only to True as this should never be a writable field.</p>
13351
13427
 
13428
+
13352
13429
  </div>
13353
13430
 
13354
13431
  </div>
@@ -13367,6 +13444,7 @@ could we then literally have the parser just return list(reader) and not need th
13367
13444
  <p>Get the content-type of this serializer's model.</p>
13368
13445
  <p>Implemented this way because <code>_value</code> may be None when generating the schema.</p>
13369
13446
 
13447
+
13370
13448
  </div>
13371
13449
 
13372
13450
  </div>
@@ -13404,6 +13482,7 @@ could we then literally have the parser just return list(reader) and not need th
13404
13482
 
13405
13483
 
13406
13484
 
13485
+
13407
13486
  <div class="doc doc-children">
13408
13487
 
13409
13488
 
@@ -13437,6 +13516,7 @@ could we then literally have the parser just return list(reader) and not need th
13437
13516
  <p>As an example, if the serializer specifies that <code>opt_in_fields = ["computed_fields"]</code>
13438
13517
  but <code>computed_fields</code> is not specified in the <code>?include</code> query parameter, <code>computed_fields</code> will be popped
13439
13518
  from the list of fields.</p>
13519
+
13440
13520
  </div>
13441
13521
 
13442
13522
  </div>
@@ -13475,6 +13555,7 @@ from the list of fields.</p>
13475
13555
 
13476
13556
 
13477
13557
 
13558
+
13478
13559
  <div class="doc doc-children">
13479
13560
 
13480
13561
 
@@ -13498,6 +13579,7 @@ from the list of fields.</p>
13498
13579
 
13499
13580
  <p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
13500
13581
 
13582
+
13501
13583
  </div>
13502
13584
 
13503
13585
  </div>
@@ -13516,6 +13598,7 @@ from the list of fields.</p>
13516
13598
  <p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
13517
13599
  <p>(Reference: https://github.com/encode/django-rest-framework/pull/8438)</p>
13518
13600
 
13601
+
13519
13602
  </div>
13520
13603
 
13521
13604
  </div>
@@ -13541,7 +13624,7 @@ from the list of fields.</p>
13541
13624
 
13542
13625
  <div class="doc doc-contents ">
13543
13626
  <p class="doc doc-class-bases">
13544
- Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ReadOnlyModelViewSet">ReadOnlyModelViewSet</span></code></p>
13627
+ Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ModelViewSetMixin (nautobot.core.api.views.ModelViewSetMixin)" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ReadOnlyModelViewSet">ReadOnlyModelViewSet</span></code></p>
13545
13628
 
13546
13629
 
13547
13630
  <p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
@@ -13554,6 +13637,7 @@ from the list of fields.</p>
13554
13637
 
13555
13638
 
13556
13639
 
13640
+
13557
13641
  <div class="doc doc-children">
13558
13642
 
13559
13643
 
@@ -13585,7 +13669,7 @@ from the list of fields.</p>
13585
13669
 
13586
13670
  <div class="doc doc-contents ">
13587
13671
  <p class="doc doc-class-bases">
13588
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
13672
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.ValidatedModelSerializer (nautobot.core.api.serializers.ValidatedModelSerializer)" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
13589
13673
 
13590
13674
 
13591
13675
  <p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
@@ -13598,6 +13682,7 @@ from the list of fields.</p>
13598
13682
 
13599
13683
 
13600
13684
 
13685
+
13601
13686
  <div class="doc doc-children">
13602
13687
 
13603
13688
 
@@ -13621,6 +13706,7 @@ from the list of fields.</p>
13621
13706
 
13622
13707
  <p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
13623
13708
 
13709
+
13624
13710
  </div>
13625
13711
 
13626
13712
  </div>
@@ -13660,6 +13746,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13660
13746
 
13661
13747
 
13662
13748
 
13749
+
13663
13750
  <div class="doc doc-children">
13664
13751
 
13665
13752
 
@@ -13691,7 +13778,8 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13691
13778
 
13692
13779
  <div class="doc doc-contents ">
13693
13780
  <p class="doc doc-class-bases">
13694
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13781
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BaseModelSerializer (nautobot.core.api.BaseModelSerializer)" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13782
+
13695
13783
 
13696
13784
 
13697
13785
 
@@ -13725,6 +13813,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13725
13813
 
13726
13814
  <p>Ensure that 'tags' field is always present except on nested serializers.</p>
13727
13815
 
13816
+
13728
13817
  </div>
13729
13818
 
13730
13819
  </div>
@@ -13761,6 +13850,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13761
13850
 
13762
13851
 
13763
13852
 
13853
+
13764
13854
  </div>
13765
13855
 
13766
13856
  </div>
@@ -13778,7 +13868,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13778
13868
 
13779
13869
  <div class="doc doc-contents ">
13780
13870
  <p class="doc doc-class-bases">
13781
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13871
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BaseModelSerializer (nautobot.core.api.serializers.BaseModelSerializer)" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13782
13872
 
13783
13873
 
13784
13874
  <p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
@@ -13791,6 +13881,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13791
13881
 
13792
13882
 
13793
13883
 
13884
+
13794
13885
  <div class="doc doc-children">
13795
13886
 
13796
13887
 
@@ -13814,6 +13905,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13814
13905
 
13815
13906
  <p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
13816
13907
 
13908
+
13817
13909
  </div>
13818
13910
 
13819
13911
  </div>
@@ -13831,6 +13923,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13831
13923
 
13832
13924
  <p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
13833
13925
 
13926
+
13834
13927
  </div>
13835
13928
 
13836
13929
  </div>
@@ -13856,7 +13949,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
13856
13949
 
13857
13950
  <div class="doc doc-contents ">
13858
13951
  <p class="doc doc-class-bases">
13859
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13952
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BaseModelSerializer (nautobot.core.api.serializers.BaseModelSerializer)" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13860
13953
 
13861
13954
 
13862
13955
  <p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
@@ -13870,6 +13963,7 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
13870
13963
 
13871
13964
 
13872
13965
 
13966
+
13873
13967
  <div class="doc doc-children">
13874
13968
 
13875
13969
 
@@ -13901,7 +13995,7 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
13901
13995
 
13902
13996
  <div class="doc doc-contents ">
13903
13997
  <p class="doc doc-class-bases">
13904
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13998
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.api.BaseModelSerializer (nautobot.core.api.serializers.BaseModelSerializer)" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
13905
13999
 
13906
14000
 
13907
14001
  <p>Returns a nested representation of an object on read, but accepts either the nested representation or the
@@ -13919,6 +14013,7 @@ which of several possible nested serializers are in use for a given attribute.</
13919
14013
 
13920
14014
 
13921
14015
 
14016
+
13922
14017
  <div class="doc doc-children">
13923
14018
 
13924
14019
 
@@ -13967,6 +14062,7 @@ vs
13967
14062
 
13968
14063
 
13969
14064
 
14065
+
13970
14066
  <div class="doc doc-children">
13971
14067
 
13972
14068
 
@@ -13990,6 +14086,7 @@ vs
13990
14086
 
13991
14087
  <p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
13992
14088
 
14089
+
13993
14090
  </div>
13994
14091
 
13995
14092
  </div>
@@ -14009,6 +14106,7 @@ vs
14009
14106
  If it is a dictionary, we return it after remove non-filter fields.
14010
14107
  If it is a primary key, we return a dictionary object formatted like this {"pk": pk}</p>
14011
14108
 
14109
+
14012
14110
  </div>
14013
14111
 
14014
14112
  </div>
@@ -14027,6 +14125,7 @@ If it is a primary key, we return a dictionary object formatted like this {"pk":
14027
14125
  <p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
14028
14126
  data any serializer fields that do not correspond to a specific model field</p>
14029
14127
 
14128
+
14030
14129
  </div>
14031
14130
 
14032
14131
  </div>
@@ -14044,6 +14143,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14044
14143
 
14045
14144
  <p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
14046
14145
 
14146
+
14047
14147
  </div>
14048
14148
 
14049
14149
  </div>
@@ -14086,6 +14186,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14086
14186
  <div class="highlight"><pre><span></span><code>Device.objects.filter(**dict_to_filter(attrs_dict))
14087
14187
  </code></pre></div>
14088
14188
 
14189
+
14089
14190
  </div>
14090
14191
 
14091
14192
  </div>
@@ -14103,6 +14204,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14103
14204
 
14104
14205
  <p>Dynamically import a class from an absolute path string</p>
14105
14206
 
14207
+
14106
14208
  </div>
14107
14209
 
14108
14210
  </div>
@@ -14137,7 +14239,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14137
14239
  <code>serializer_choices</code>
14138
14240
  </td>
14139
14241
  <td>
14140
- <code>tuple</code>
14242
+ <code><span title="tuple">tuple</span></code>
14141
14243
  </td>
14142
14244
  <td>
14143
14245
  <div class="doc-md-description">
@@ -14153,7 +14255,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14153
14255
  <code>api_version</code>
14154
14256
  </td>
14155
14257
  <td>
14156
- <code>str</code>
14258
+ <code><span title="str">str</span></code>
14157
14259
  </td>
14158
14260
  <td>
14159
14261
  <div class="doc-md-description">
@@ -14179,7 +14281,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14179
14281
  <tbody>
14180
14282
  <tr class="doc-section-item">
14181
14283
  <td>
14182
- <code>Serializer</code>
14284
+ <code><span title="Serializer">Serializer</span></code>
14183
14285
  </td>
14184
14286
  <td>
14185
14287
  <div class="doc-md-description">
@@ -14190,6 +14292,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14190
14292
  </tbody>
14191
14293
  </table>
14192
14294
 
14295
+
14193
14296
  </div>
14194
14297
 
14195
14298
  </div>
@@ -14219,7 +14322,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14219
14322
  <tbody>
14220
14323
  <tr class="doc-section-item">
14221
14324
  <td>
14222
- <code>SerializerNotFound</code>
14325
+ <code><span title="SerializerNotFound">SerializerNotFound</span></code>
14223
14326
  </td>
14224
14327
  <td>
14225
14328
  <div class="doc-md-description">
@@ -14230,6 +14333,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14230
14333
  </tbody>
14231
14334
  </table>
14232
14335
 
14336
+
14233
14337
  </div>
14234
14338
 
14235
14339
  </div>
@@ -14247,6 +14351,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14247
14351
 
14248
14352
  <p>Derive the view name from its associated model, if it has one. Fall back to DRF's built-in <code>get_view_name</code>.</p>
14249
14353
 
14354
+
14250
14355
  </div>
14251
14356
 
14252
14357
  </div>
@@ -14264,6 +14369,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14264
14369
 
14265
14370
  <p>Return True of the request is being made via the REST API.</p>
14266
14371
 
14372
+
14267
14373
  </div>
14268
14374
 
14269
14375
  </div>
@@ -14281,6 +14387,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14281
14387
 
14282
14388
  <p>Handle exceptions and return a useful error message for REST API requests.</p>
14283
14389
 
14390
+
14284
14391
  </div>
14285
14392
 
14286
14393
  </div>
@@ -14331,7 +14438,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14331
14438
  <code>serializer_choices</code>
14332
14439
  </td>
14333
14440
  <td>
14334
- <code>tuple</code>
14441
+ <code><span title="tuple">tuple</span></code>
14335
14442
  </td>
14336
14443
  <td>
14337
14444
  <div class="doc-md-description">
@@ -14347,7 +14454,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14347
14454
  <code>default_serializer</code>
14348
14455
  </td>
14349
14456
  <td>
14350
- <code>Serializer</code>
14457
+ <code><span title="Serializer">Serializer</span></code>
14351
14458
  </td>
14352
14459
  <td>
14353
14460
  <div class="doc-md-description">
@@ -14361,6 +14468,7 @@ data any serializer fields that do not correspond to a specific model field</p>
14361
14468
  </tbody>
14362
14469
  </table>
14363
14470
 
14471
+
14364
14472
  </div>
14365
14473
 
14366
14474
  </div>