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.

Files changed (668) hide show
  1. nautobot/apps/__init__.py +1 -1
  2. nautobot/apps/api.py +8 -8
  3. nautobot/apps/change_logging.py +2 -2
  4. nautobot/apps/choices.py +4 -4
  5. nautobot/apps/events.py +3 -3
  6. nautobot/apps/factory.py +2 -2
  7. nautobot/apps/filters.py +1 -1
  8. nautobot/apps/forms.py +20 -20
  9. nautobot/apps/graphql.py +2 -2
  10. nautobot/apps/jobs.py +8 -8
  11. nautobot/apps/models.py +19 -19
  12. nautobot/apps/tables.py +1 -1
  13. nautobot/apps/testing.py +10 -10
  14. nautobot/apps/ui.py +2 -2
  15. nautobot/apps/utils.py +7 -7
  16. nautobot/apps/views.py +7 -7
  17. nautobot/circuits/api/serializers.py +1 -0
  18. nautobot/circuits/api/views.py +4 -8
  19. nautobot/circuits/tables.py +2 -1
  20. nautobot/circuits/templates/circuits/circuit_create.html +1 -7
  21. nautobot/circuits/tests/integration/test_circuits_bulk_operations.py +43 -0
  22. nautobot/circuits/tests/integration/test_relationships.py +1 -1
  23. nautobot/circuits/views.py +3 -3
  24. nautobot/cloud/api/views.py +6 -10
  25. nautobot/cloud/models.py +1 -1
  26. nautobot/cloud/views.py +0 -16
  27. nautobot/core/api/constants.py +11 -0
  28. nautobot/core/api/fields.py +5 -5
  29. nautobot/core/api/filter_backends.py +3 -9
  30. nautobot/core/api/schema.py +13 -2
  31. nautobot/core/api/serializers.py +40 -34
  32. nautobot/core/api/views.py +56 -4
  33. nautobot/core/apps/__init__.py +0 -5
  34. nautobot/core/celery/log.py +4 -4
  35. nautobot/core/celery/schedulers.py +2 -2
  36. nautobot/core/choices.py +2 -2
  37. nautobot/core/events/__init__.py +3 -3
  38. nautobot/core/filters.py +67 -35
  39. nautobot/core/forms/__init__.py +19 -19
  40. nautobot/core/forms/fields.py +14 -11
  41. nautobot/core/forms/forms.py +33 -2
  42. nautobot/core/graphql/types.py +1 -1
  43. nautobot/core/jobs/__init__.py +28 -7
  44. nautobot/core/jobs/bulk_actions.py +285 -0
  45. nautobot/core/jobs/cleanup.py +48 -12
  46. nautobot/core/jobs/groups.py +1 -1
  47. nautobot/core/management/commands/validate_models.py +1 -1
  48. nautobot/core/models/__init__.py +3 -1
  49. nautobot/core/models/query_functions.py +2 -2
  50. nautobot/core/models/tree_queries.py +6 -3
  51. nautobot/core/settings.py +29 -2
  52. nautobot/core/settings.yaml +21 -0
  53. nautobot/core/tables.py +79 -61
  54. nautobot/core/templates/about.html +67 -0
  55. nautobot/core/templates/generic/object_bulk_destroy.html +1 -1
  56. nautobot/core/templates/inc/media.html +3 -0
  57. nautobot/core/templates/inc/nav_menu.html +1 -0
  58. nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
  59. nautobot/core/templates/inc/tenant_table_row.html +11 -0
  60. nautobot/core/templates/nautobot_config.py.j2 +13 -0
  61. nautobot/core/templates/search.html +7 -0
  62. nautobot/core/templates/utilities/render_jinja2.html +1 -1
  63. nautobot/core/templates/utilities/templatetags/tag.html +1 -1
  64. nautobot/core/templates/utilities/theme_preview.html +7 -0
  65. nautobot/core/templatetags/helpers.py +11 -2
  66. nautobot/core/testing/__init__.py +8 -8
  67. nautobot/core/testing/api.py +170 -15
  68. nautobot/core/testing/filters.py +45 -10
  69. nautobot/core/testing/forms.py +2 -0
  70. nautobot/core/testing/integration.py +514 -5
  71. nautobot/core/testing/mixins.py +7 -2
  72. nautobot/core/testing/views.py +44 -29
  73. nautobot/core/tests/integration/test_app_home.py +0 -1
  74. nautobot/core/tests/integration/test_app_navbar.py +0 -1
  75. nautobot/core/tests/integration/test_filters.py +0 -2
  76. nautobot/core/tests/integration/test_home.py +0 -1
  77. nautobot/core/tests/integration/test_navbar.py +0 -1
  78. nautobot/core/tests/integration/test_view_authentication.py +1 -0
  79. nautobot/core/tests/runner.py +1 -1
  80. nautobot/core/tests/test_api.py +98 -1
  81. nautobot/core/tests/test_csv.py +25 -3
  82. nautobot/core/tests/test_filters.py +209 -246
  83. nautobot/core/tests/test_forms.py +1 -0
  84. nautobot/core/tests/test_jobs.py +492 -1
  85. nautobot/core/tests/test_models.py +9 -0
  86. nautobot/core/tests/test_settings_schema.py +7 -0
  87. nautobot/core/tests/test_tables.py +100 -0
  88. nautobot/core/tests/test_utils.py +63 -1
  89. nautobot/core/tests/test_views.py +30 -3
  90. nautobot/core/ui/nav.py +1 -0
  91. nautobot/core/ui/object_detail.py +15 -1
  92. nautobot/core/urls.py +11 -0
  93. nautobot/core/utils/git.py +7 -2
  94. nautobot/core/utils/lookup.py +11 -8
  95. nautobot/core/utils/querysets.py +64 -0
  96. nautobot/core/utils/requests.py +24 -9
  97. nautobot/core/views/__init__.py +42 -0
  98. nautobot/core/views/generic.py +131 -197
  99. nautobot/core/views/mixins.py +136 -41
  100. nautobot/core/views/renderers.py +6 -6
  101. nautobot/core/views/utils.py +2 -2
  102. nautobot/dcim/api/serializers.py +56 -64
  103. nautobot/dcim/api/views.py +47 -113
  104. nautobot/dcim/constants.py +6 -13
  105. nautobot/dcim/factory.py +6 -1
  106. nautobot/dcim/filters/__init__.py +31 -2
  107. nautobot/dcim/forms.py +48 -17
  108. nautobot/dcim/graphql/types.py +2 -2
  109. nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
  110. nautobot/dcim/models/__init__.py +1 -1
  111. nautobot/dcim/models/device_component_templates.py +2 -2
  112. nautobot/dcim/models/device_components.py +22 -20
  113. nautobot/dcim/models/devices.py +10 -1
  114. nautobot/dcim/models/locations.py +3 -3
  115. nautobot/dcim/models/power.py +6 -5
  116. nautobot/dcim/models/racks.py +4 -4
  117. nautobot/dcim/tables/__init__.py +3 -3
  118. nautobot/dcim/tables/devices.py +9 -6
  119. nautobot/dcim/tables/devicetypes.py +2 -2
  120. nautobot/dcim/tables/racks.py +1 -1
  121. nautobot/dcim/templates/dcim/cable.html +1 -1
  122. nautobot/dcim/templates/dcim/controller_create.html +1 -7
  123. nautobot/dcim/templates/dcim/controller_retrieve.html +1 -9
  124. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +2 -0
  125. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +5 -0
  126. nautobot/dcim/templates/dcim/device/base.html +1 -1
  127. nautobot/dcim/templates/dcim/device.html +3 -11
  128. nautobot/dcim/templates/dcim/device_component.html +1 -1
  129. nautobot/dcim/templates/dcim/device_edit.html +36 -37
  130. nautobot/dcim/templates/dcim/devicetype.html +1 -1
  131. nautobot/dcim/templates/dcim/location.html +2 -10
  132. nautobot/dcim/templates/dcim/location_edit.html +1 -7
  133. nautobot/dcim/templates/dcim/locationtype.html +1 -1
  134. nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -1
  135. nautobot/dcim/templates/dcim/manufacturer.html +1 -1
  136. nautobot/dcim/templates/dcim/platform.html +1 -1
  137. nautobot/dcim/templates/dcim/powerfeed.html +1 -1
  138. nautobot/dcim/templates/dcim/powerpanel.html +1 -1
  139. nautobot/dcim/templates/dcim/rack.html +2 -10
  140. nautobot/dcim/templates/dcim/rack_edit.html +1 -7
  141. nautobot/dcim/templates/dcim/rackgroup.html +1 -1
  142. nautobot/dcim/templates/dcim/rackreservation.html +3 -11
  143. nautobot/dcim/templates/dcim/virtualchassis.html +1 -1
  144. nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -9
  145. nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +1 -7
  146. nautobot/dcim/tests/integration/test_controller.py +62 -0
  147. nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
  148. nautobot/dcim/tests/integration/test_device_bulk_operations.py +30 -0
  149. nautobot/dcim/tests/integration/test_location_bulk_operations.py +43 -0
  150. nautobot/dcim/tests/test_api.py +16 -5
  151. nautobot/dcim/tests/test_filters.py +33 -0
  152. nautobot/dcim/tests/test_forms.py +51 -2
  153. nautobot/dcim/tests/test_graphql.py +52 -0
  154. nautobot/dcim/tests/test_jobs.py +118 -0
  155. nautobot/dcim/tests/test_models.py +52 -9
  156. nautobot/dcim/tests/test_views.py +30 -84
  157. nautobot/dcim/views.py +13 -28
  158. nautobot/extras/api/customfields.py +2 -2
  159. nautobot/extras/api/serializers.py +123 -85
  160. nautobot/extras/api/views.py +33 -30
  161. nautobot/extras/constants.py +3 -0
  162. nautobot/extras/datasources/git.py +125 -0
  163. nautobot/extras/filters/__init__.py +8 -6
  164. nautobot/extras/forms/base.py +2 -2
  165. nautobot/extras/forms/forms.py +139 -31
  166. nautobot/extras/forms/mixins.py +14 -6
  167. nautobot/extras/group_sync.py +3 -3
  168. nautobot/extras/health_checks.py +1 -2
  169. nautobot/extras/jobs.py +85 -18
  170. nautobot/extras/managers.py +3 -1
  171. nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
  172. nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
  173. nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
  174. nautobot/extras/migrations/0122_add_graphqlquery_owner_content_type.py +34 -0
  175. nautobot/extras/models/__init__.py +1 -1
  176. nautobot/extras/models/contacts.py +1 -1
  177. nautobot/extras/models/customfields.py +41 -23
  178. nautobot/extras/models/datasources.py +85 -0
  179. nautobot/extras/models/groups.py +11 -9
  180. nautobot/extras/models/jobs.py +23 -4
  181. nautobot/extras/models/models.py +17 -2
  182. nautobot/extras/models/relationships.py +17 -5
  183. nautobot/extras/plugins/__init__.py +13 -2
  184. nautobot/extras/plugins/marketplace_manifest.yml +84 -79
  185. nautobot/extras/plugins/tables.py +16 -14
  186. nautobot/extras/plugins/views.py +65 -69
  187. nautobot/extras/registry.py +1 -1
  188. nautobot/extras/secrets/__init__.py +2 -2
  189. nautobot/extras/signals.py +15 -1
  190. nautobot/extras/tables.py +7 -5
  191. nautobot/extras/templates/extras/computedfield.html +1 -1
  192. nautobot/extras/templates/extras/configcontext.html +1 -1
  193. nautobot/extras/templates/extras/configcontextschema.html +1 -1
  194. nautobot/extras/templates/extras/customfield.html +1 -1
  195. nautobot/extras/templates/extras/customlink.html +1 -1
  196. nautobot/extras/templates/extras/dynamicgroup.html +2 -10
  197. nautobot/extras/templates/extras/exporttemplate.html +1 -1
  198. nautobot/extras/templates/extras/gitrepository.html +1 -1
  199. nautobot/extras/templates/extras/graphqlquery.html +1 -1
  200. nautobot/extras/templates/extras/job_detail.html +17 -1
  201. nautobot/extras/templates/extras/job_edit.html +1 -0
  202. nautobot/extras/templates/extras/jobbutton_retrieve.html +1 -1
  203. nautobot/extras/templates/extras/jobhook.html +1 -1
  204. nautobot/extras/templates/extras/jobqueue_retrieve.html +1 -9
  205. nautobot/extras/templates/extras/jobresult.html +1 -1
  206. nautobot/extras/templates/extras/marketplace.html +29 -11
  207. nautobot/extras/templates/extras/objectchange.html +1 -1
  208. nautobot/extras/templates/extras/plugin_detail.html +33 -16
  209. nautobot/extras/templates/extras/plugins_tiles.html +21 -10
  210. nautobot/extras/templates/extras/relationship.html +1 -63
  211. nautobot/extras/templates/extras/role_retrieve.html +1 -1
  212. nautobot/extras/templates/extras/scheduledjob.html +1 -1
  213. nautobot/extras/templates/extras/secret.html +1 -1
  214. nautobot/extras/templates/extras/secretsgroup.html +1 -1
  215. nautobot/extras/templates/extras/status.html +1 -1
  216. nautobot/extras/templates/extras/tag.html +1 -1
  217. nautobot/extras/templates/extras/webhook.html +1 -1
  218. nautobot/extras/templatetags/job_buttons.py +4 -4
  219. nautobot/extras/test_jobs/api_test_job.py +1 -1
  220. nautobot/extras/test_jobs/atomic_transaction.py +2 -2
  221. nautobot/extras/test_jobs/dry_run.py +1 -1
  222. nautobot/extras/test_jobs/fail.py +5 -5
  223. nautobot/extras/test_jobs/file_output.py +1 -1
  224. nautobot/extras/test_jobs/file_upload_fail.py +1 -1
  225. nautobot/extras/test_jobs/file_upload_pass.py +1 -1
  226. nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
  227. nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
  228. nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
  229. nautobot/extras/test_jobs/log_redaction.py +1 -1
  230. nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
  231. nautobot/extras/test_jobs/modify_db.py +1 -1
  232. nautobot/extras/test_jobs/object_var_optional.py +1 -1
  233. nautobot/extras/test_jobs/object_var_required.py +1 -1
  234. nautobot/extras/test_jobs/object_vars.py +1 -1
  235. nautobot/extras/test_jobs/pass.py +3 -3
  236. nautobot/extras/test_jobs/profiling.py +1 -1
  237. nautobot/extras/test_jobs/relative_import.py +3 -3
  238. nautobot/extras/test_jobs/singleton.py +16 -0
  239. nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
  240. nautobot/extras/test_jobs/task_queues.py +1 -1
  241. nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_interfaces.gql +8 -0
  242. nautobot/extras/tests/git_data/01-valid-files/graphql_queries/device_names.gql +5 -0
  243. nautobot/extras/tests/git_data/02-invalid-files/graphql_queries/bad_device_names.gql +5 -0
  244. nautobot/extras/tests/git_helper.py +9 -1
  245. nautobot/extras/tests/integration/__init__.py +29 -16
  246. nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
  247. nautobot/extras/tests/test_api.py +19 -13
  248. nautobot/extras/tests/test_customfields.py +50 -52
  249. nautobot/extras/tests/test_datasources.py +29 -1
  250. nautobot/extras/tests/test_dynamicgroups.py +1 -1
  251. nautobot/extras/tests/test_filters.py +6 -6
  252. nautobot/extras/tests/test_forms.py +33 -1
  253. nautobot/extras/tests/test_jobs.py +178 -32
  254. nautobot/extras/tests/test_models.py +299 -10
  255. nautobot/extras/tests/test_plugins.py +62 -9
  256. nautobot/extras/tests/test_relationships.py +120 -9
  257. nautobot/extras/tests/test_utils.py +22 -1
  258. nautobot/extras/tests/test_views.py +56 -194
  259. nautobot/extras/utils.py +20 -10
  260. nautobot/extras/views.py +85 -110
  261. nautobot/ipam/api/fields.py +3 -3
  262. nautobot/ipam/api/serializers.py +41 -33
  263. nautobot/ipam/api/views.py +68 -117
  264. nautobot/ipam/factory.py +1 -1
  265. nautobot/ipam/filters.py +3 -2
  266. nautobot/ipam/lookups.py +101 -62
  267. nautobot/ipam/models.py +74 -18
  268. nautobot/ipam/querysets.py +2 -2
  269. nautobot/ipam/tables.py +25 -9
  270. nautobot/ipam/templates/ipam/ipaddress.html +2 -10
  271. nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
  272. nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
  273. nautobot/ipam/templates/ipam/prefix.html +2 -10
  274. nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
  275. nautobot/ipam/templates/ipam/rir.html +1 -1
  276. nautobot/ipam/templates/ipam/routetarget.html +1 -1
  277. nautobot/ipam/templates/ipam/service.html +1 -1
  278. nautobot/ipam/templates/ipam/vlan.html +2 -10
  279. nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
  280. nautobot/ipam/templates/ipam/vlangroup.html +1 -1
  281. nautobot/ipam/templates/ipam/vrf.html +1 -1
  282. nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
  283. nautobot/ipam/tests/test_api.py +436 -3
  284. nautobot/ipam/tests/test_forms.py +49 -47
  285. nautobot/ipam/tests/test_migrations.py +30 -30
  286. nautobot/ipam/tests/test_models.py +119 -34
  287. nautobot/ipam/tests/test_querysets.py +63 -1
  288. nautobot/ipam/tests/test_utils.py +41 -2
  289. nautobot/ipam/tests/test_views.py +3 -0
  290. nautobot/ipam/utils/__init__.py +54 -17
  291. nautobot/ipam/views.py +61 -87
  292. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
  293. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
  294. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
  295. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
  296. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
  297. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
  298. nautobot/project-static/docs/404.html +131 -14
  299. nautobot/project-static/docs/apps/index.html +131 -14
  300. nautobot/project-static/docs/apps/nautobot-apps.html +132 -16
  301. nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
  302. nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.60a45f97.min.js} +2 -2
  303. nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.60a45f97.min.js.map} +2 -2
  304. nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js → search.f8cc74c7.min.js} +1 -1
  305. nautobot/project-static/docs/assets/javascripts/workers/{search.6ce7567c.min.js.map → search.f8cc74c7.min.js.map} +1 -1
  306. nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css → main.a40c8224.min.css} +1 -1
  307. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +147 -20
  308. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +144 -17
  309. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +459 -132
  310. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +175 -28
  311. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +180 -31
  312. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +138 -16
  313. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +137 -15
  314. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +164 -27
  315. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +187 -38
  316. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +193 -31
  317. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +216 -48
  318. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +324 -75
  319. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +666 -175
  320. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +194 -46
  321. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +538 -177
  322. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +578 -221
  323. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +145 -18
  324. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +156 -25
  325. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +492 -65
  326. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +705 -215
  327. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +943 -422
  328. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +144 -17
  329. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +619 -200
  330. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +474 -159
  331. nautobot/project-static/docs/development/apps/api/configuration-view.html +131 -14
  332. nautobot/project-static/docs/development/apps/api/database-backend-config.html +131 -14
  333. nautobot/project-static/docs/development/apps/api/models/django-admin.html +131 -14
  334. nautobot/project-static/docs/development/apps/api/models/global-search.html +131 -14
  335. nautobot/project-static/docs/development/apps/api/models/graphql.html +131 -14
  336. nautobot/project-static/docs/development/apps/api/models/index.html +131 -14
  337. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +131 -14
  338. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +131 -14
  339. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +131 -14
  340. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +131 -14
  341. nautobot/project-static/docs/development/apps/api/platform-features/index.html +131 -14
  342. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +131 -14
  343. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +131 -14
  344. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +131 -14
  345. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +131 -14
  346. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +153 -17
  347. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +131 -14
  348. nautobot/project-static/docs/development/apps/api/prometheus.html +131 -14
  349. nautobot/project-static/docs/development/apps/api/setup.html +131 -14
  350. nautobot/project-static/docs/development/apps/api/testing.html +131 -14
  351. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +131 -14
  352. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +131 -14
  353. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +131 -14
  354. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +131 -14
  355. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +131 -14
  356. nautobot/project-static/docs/development/apps/api/views/base-template.html +131 -14
  357. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +131 -14
  358. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +131 -14
  359. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +131 -14
  360. nautobot/project-static/docs/development/apps/api/views/index.html +131 -14
  361. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +131 -14
  362. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +131 -14
  363. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +131 -14
  364. nautobot/project-static/docs/development/apps/api/views/notes.html +131 -14
  365. nautobot/project-static/docs/development/apps/api/views/rest-api.html +137 -16
  366. nautobot/project-static/docs/development/apps/api/views/urls.html +131 -14
  367. nautobot/project-static/docs/development/apps/index.html +131 -14
  368. nautobot/project-static/docs/development/apps/migration/code-updates.html +131 -14
  369. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +131 -14
  370. nautobot/project-static/docs/development/apps/migration/from-v1.html +131 -14
  371. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +131 -14
  372. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +131 -14
  373. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +131 -14
  374. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +131 -14
  375. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +135 -18
  376. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +131 -14
  377. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +297 -25
  378. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +131 -14
  379. nautobot/project-static/docs/development/apps/porting-from-netbox.html +131 -14
  380. nautobot/project-static/docs/development/core/application-registry.html +131 -14
  381. nautobot/project-static/docs/development/core/best-practices.html +131 -14
  382. nautobot/project-static/docs/development/core/bootstrap-ui.html +131 -14
  383. nautobot/project-static/docs/development/core/caching.html +131 -14
  384. nautobot/project-static/docs/development/core/controllers.html +131 -14
  385. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +158 -84
  386. nautobot/project-static/docs/development/core/generic-views.html +131 -14
  387. nautobot/project-static/docs/development/core/getting-started.html +334 -234
  388. nautobot/project-static/docs/development/core/homepage.html +134 -17
  389. nautobot/project-static/docs/development/core/index.html +131 -14
  390. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9829 -0
  391. nautobot/project-static/docs/development/core/model-checklist.html +141 -22
  392. nautobot/project-static/docs/development/core/model-features.html +131 -14
  393. nautobot/project-static/docs/development/core/natural-keys.html +131 -14
  394. nautobot/project-static/docs/development/core/navigation-menu.html +131 -14
  395. nautobot/project-static/docs/development/core/release-checklist.html +134 -17
  396. nautobot/project-static/docs/development/core/role-internals.html +131 -14
  397. nautobot/project-static/docs/development/core/settings.html +131 -14
  398. nautobot/project-static/docs/development/core/style-guide.html +134 -17
  399. nautobot/project-static/docs/development/core/templates.html +132 -15
  400. nautobot/project-static/docs/development/core/testing.html +131 -14
  401. nautobot/project-static/docs/development/core/ui-component-framework.html +454 -283
  402. nautobot/project-static/docs/development/core/user-preferences.html +131 -14
  403. nautobot/project-static/docs/development/index.html +131 -14
  404. nautobot/project-static/docs/development/jobs/index.html +301 -132
  405. nautobot/project-static/docs/development/jobs/migration/from-v1.html +131 -14
  406. nautobot/project-static/docs/index.html +139 -33
  407. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
  408. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
  409. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
  410. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
  411. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
  412. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
  413. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
  414. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
  415. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
  416. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
  417. nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
  418. nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
  419. nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
  420. nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
  421. nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
  422. nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
  423. nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
  424. nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
  425. nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
  426. nautobot/project-static/docs/objects.inv +0 -0
  427. nautobot/project-static/docs/overview/application_stack.html +132 -17
  428. nautobot/project-static/docs/overview/design_philosophy.html +131 -14
  429. nautobot/project-static/docs/release-notes/index.html +137 -22
  430. nautobot/project-static/docs/release-notes/version-1.0.html +319 -203
  431. nautobot/project-static/docs/release-notes/version-1.1.html +316 -200
  432. nautobot/project-static/docs/release-notes/version-1.2.html +391 -275
  433. nautobot/project-static/docs/release-notes/version-1.3.html +417 -301
  434. nautobot/project-static/docs/release-notes/version-1.4.html +502 -387
  435. nautobot/project-static/docs/release-notes/version-1.5.html +690 -576
  436. nautobot/project-static/docs/release-notes/version-1.6.html +989 -457
  437. nautobot/project-static/docs/release-notes/version-2.0.html +613 -499
  438. nautobot/project-static/docs/release-notes/version-2.1.html +448 -334
  439. nautobot/project-static/docs/release-notes/version-2.2.html +441 -327
  440. nautobot/project-static/docs/release-notes/version-2.3.html +1171 -451
  441. nautobot/project-static/docs/release-notes/version-2.4.html +800 -111
  442. nautobot/project-static/docs/requirements.txt +2 -2
  443. nautobot/project-static/docs/search/search_index.json +1 -1
  444. nautobot/project-static/docs/sitemap.xml +303 -287
  445. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  446. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +131 -14
  447. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +131 -14
  448. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +133 -16
  449. nautobot/project-static/docs/user-guide/administration/configuration/index.html +131 -14
  450. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +131 -14
  451. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +195 -18
  452. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +131 -14
  453. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +134 -17
  454. nautobot/project-static/docs/user-guide/administration/guides/docker.html +131 -14
  455. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +131 -14
  456. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +131 -14
  457. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -14
  458. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +131 -14
  459. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +131 -14
  460. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +133 -16
  461. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +131 -14
  462. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +131 -14
  463. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +131 -14
  464. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +151 -18
  465. nautobot/project-static/docs/user-guide/administration/installation/index.html +131 -14
  466. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +132 -15
  467. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +131 -14
  468. nautobot/project-static/docs/user-guide/administration/installation/services.html +131 -14
  469. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +131 -14
  470. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +131 -14
  471. nautobot/project-static/docs/user-guide/administration/security/index.html +9420 -0
  472. nautobot/project-static/docs/user-guide/administration/security/notices.html +9843 -0
  473. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +131 -14
  474. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +131 -14
  475. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +131 -14
  476. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +131 -14
  477. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +131 -14
  478. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +131 -14
  479. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +131 -14
  480. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +134 -18
  481. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +131 -14
  482. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +131 -14
  483. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +131 -14
  484. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +131 -14
  485. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +131 -14
  486. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +131 -14
  487. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +131 -14
  488. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +131 -14
  489. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +131 -14
  490. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +131 -14
  491. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +131 -14
  492. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +131 -14
  493. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +131 -14
  494. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +131 -14
  495. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +131 -14
  496. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +131 -14
  497. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +131 -14
  498. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +131 -14
  499. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +131 -14
  500. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +131 -14
  501. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +131 -14
  502. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +131 -14
  503. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +131 -14
  504. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +131 -14
  505. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +131 -14
  506. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +131 -14
  507. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +131 -14
  508. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +131 -14
  509. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +131 -14
  510. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +131 -14
  511. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +131 -14
  512. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +131 -14
  513. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +131 -14
  514. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +131 -14
  515. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +131 -14
  516. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +131 -14
  517. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +131 -14
  518. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +131 -14
  519. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +131 -14
  520. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +131 -14
  521. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +131 -14
  522. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +131 -14
  523. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +131 -14
  524. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +131 -14
  525. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +131 -14
  526. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +131 -14
  527. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +131 -14
  528. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +131 -14
  529. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +131 -14
  530. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +131 -14
  531. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +131 -14
  532. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +131 -14
  533. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +131 -14
  534. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +131 -14
  535. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +131 -14
  536. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +131 -14
  537. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +131 -14
  538. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +135 -22
  539. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +131 -14
  540. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +131 -14
  541. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +131 -14
  542. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +131 -14
  543. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +131 -14
  544. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +131 -14
  545. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +131 -14
  546. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +131 -14
  547. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +131 -14
  548. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +131 -14
  549. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +131 -14
  550. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +131 -14
  551. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +134 -17
  552. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +131 -14
  553. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +131 -14
  554. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +131 -14
  555. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +131 -14
  556. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +131 -14
  557. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +131 -14
  558. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +131 -14
  559. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +131 -14
  560. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +131 -14
  561. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +131 -14
  562. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +131 -14
  563. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +131 -14
  564. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +131 -14
  565. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +131 -14
  566. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +131 -14
  567. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +134 -17
  568. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +131 -14
  569. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +131 -14
  570. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +131 -14
  571. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +131 -14
  572. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +131 -14
  573. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +131 -14
  574. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +236 -34
  575. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +131 -14
  576. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
  577. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
  578. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
  579. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
  580. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
  581. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
  582. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
  583. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
  584. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
  585. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
  586. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
  587. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
  588. nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
  589. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +131 -14
  590. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +131 -14
  591. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +134 -17
  592. nautobot/project-static/docs/{development/core/local-k8s.html → user-guide/feature-guides/wireless-networks-and-controllers.html} +632 -566
  593. nautobot/project-static/docs/user-guide/index.html +131 -14
  594. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +131 -14
  595. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +135 -18
  596. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +131 -14
  597. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +131 -14
  598. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +131 -14
  599. nautobot/project-static/docs/user-guide/platform-functionality/events.html +131 -14
  600. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +131 -14
  601. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +131 -14
  602. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +451 -16
  603. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +131 -14
  604. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +131 -14
  605. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +131 -14
  606. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +135 -17
  607. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +131 -14
  608. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +134 -17
  609. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +131 -14
  610. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +131 -14
  611. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9797 -0
  612. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +131 -14
  613. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +131 -14
  614. nautobot/project-static/docs/user-guide/platform-functionality/note.html +131 -14
  615. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +131 -14
  616. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +132 -15
  617. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +131 -14
  618. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +131 -14
  619. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +179 -35
  620. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +159 -15
  621. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +131 -14
  622. nautobot/project-static/docs/user-guide/platform-functionality/role.html +131 -14
  623. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +131 -14
  624. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +131 -14
  625. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +131 -14
  626. nautobot/project-static/docs/user-guide/platform-functionality/status.html +131 -14
  627. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +131 -14
  628. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +131 -14
  629. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +131 -14
  630. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +131 -14
  631. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +131 -14
  632. nautobot/project-static/js/forms.js +1 -1
  633. nautobot/tenancy/api/views.py +9 -13
  634. nautobot/tenancy/templates/tenancy/tenant.html +1 -2
  635. nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
  636. nautobot/tenancy/views.py +4 -2
  637. nautobot/users/admin.py +1 -1
  638. nautobot/users/api/serializers.py +5 -4
  639. nautobot/users/api/views.py +3 -3
  640. nautobot/virtualization/api/serializers.py +4 -4
  641. nautobot/virtualization/api/views.py +5 -24
  642. nautobot/virtualization/filters.py +20 -3
  643. nautobot/virtualization/models.py +1 -1
  644. nautobot/virtualization/tables.py +2 -2
  645. nautobot/virtualization/templates/virtualization/cluster.html +1 -1
  646. nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
  647. nautobot/virtualization/templates/virtualization/clustergroup.html +1 -1
  648. nautobot/virtualization/templates/virtualization/clustertype.html +1 -1
  649. nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -10
  650. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
  651. nautobot/virtualization/templates/virtualization/vminterface.html +1 -1
  652. nautobot/virtualization/tests/test_filters.py +17 -0
  653. nautobot/wireless/filters.py +2 -2
  654. nautobot/wireless/forms.py +1 -1
  655. nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +1 -9
  656. nautobot/wireless/tests/integration/__init__.py +0 -0
  657. nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
  658. nautobot/wireless/tests/test_filters.py +29 -1
  659. nautobot/wireless/tests/test_views.py +22 -1
  660. nautobot/wireless/views.py +0 -10
  661. {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/METADATA +9 -9
  662. {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/RECORD +667 -610
  663. {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/WHEEL +1 -1
  664. nautobot/core/fixtures/user-data.json +0 -59
  665. /nautobot/project-static/docs/assets/stylesheets/{main.6f8fc17f.min.css.map → main.a40c8224.min.css.map} +0 -0
  666. {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/LICENSE.txt +0 -0
  667. {nautobot-2.4.0b1.dist-info → nautobot-2.4.2.dist-info}/NOTICE +0 -0
  668. {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.46">
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.6f8fc17f.min.css">
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.1 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>
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.1 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>
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.1 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>
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
 
@@ -7152,6 +7269,15 @@
7152
7269
  </span>
7153
7270
  </a>
7154
7271
 
7272
+ </li>
7273
+
7274
+ <li class="md-nav__item">
7275
+ <a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
7276
+ <span class="md-ellipsis">
7277
+ get_queryset
7278
+ </span>
7279
+ </a>
7280
+
7155
7281
  </li>
7156
7282
 
7157
7283
  <li class="md-nav__item">
@@ -8947,11 +9073,11 @@
8947
9073
 
8948
9074
 
8949
9075
  <li class="md-nav__item">
8950
- <a href="../../../development/core/local-k8s.html" class="md-nav__link">
9076
+ <a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
8951
9077
 
8952
9078
 
8953
9079
  <span class="md-ellipsis">
8954
- Local Kubernetes Cluster
9080
+ Minikube Dev Environment for K8s Jobs
8955
9081
  </span>
8956
9082
 
8957
9083
 
@@ -10067,6 +10193,15 @@
10067
10193
  </span>
10068
10194
  </a>
10069
10195
 
10196
+ </li>
10197
+
10198
+ <li class="md-nav__item">
10199
+ <a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
10200
+ <span class="md-ellipsis">
10201
+ get_queryset
10202
+ </span>
10203
+ </a>
10204
+
10070
10205
  </li>
10071
10206
 
10072
10207
  <li class="md-nav__item">
@@ -10740,7 +10875,12 @@
10740
10875
 
10741
10876
  <div class="doc doc-contents first">
10742
10877
 
10743
- <p>Helpers for an app to implement a REST API.</p>
10878
+ <p>Helpers for an app to implement a REST API.</p>
10879
+
10880
+
10881
+
10882
+
10883
+
10744
10884
 
10745
10885
 
10746
10886
 
@@ -10766,10 +10906,15 @@
10766
10906
 
10767
10907
  <div class="doc doc-contents ">
10768
10908
  <p class="doc doc-class-bases">
10769
- Bases: <code><autoref identifier="nautobot.core.api.views.NautobotAPIVersionMixin" optional hover>NautobotAPIVersionMixin</autoref></code>, <code><autoref identifier="rest_framework.routers.APIRootView" optional hover>APIRootView</autoref></code></p>
10909
+ Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><span title="rest_framework.routers.APIRootView">APIRootView</span></code></p>
10910
+
10911
+
10912
+ <p>Extends DRF's base APIRootView class to enforce user authentication.</p>
10913
+
10914
+
10915
+
10770
10916
 
10771
10917
 
10772
- <p>Extends DRF's base APIRootView class to enforce user authentication.</p>
10773
10918
 
10774
10919
 
10775
10920
 
@@ -10805,10 +10950,10 @@
10805
10950
 
10806
10951
  <div class="doc doc-contents ">
10807
10952
  <p class="doc doc-class-bases">
10808
- Bases: <code><autoref identifier="nautobot.core.api.serializers.OptInFieldsMixin" optional hover>OptInFieldsMixin</autoref></code>, <code><autoref identifier="rest_framework.serializers.HyperlinkedModelSerializer" optional hover>HyperlinkedModelSerializer</autoref></code></p>
10953
+ 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>
10809
10954
 
10810
10955
 
10811
- <p>This base serializer implements common fields and logic for all ModelSerializers.</p>
10956
+ <p>This base serializer implements common fields and logic for all ModelSerializers.</p>
10812
10957
  <p>Namely, it:</p>
10813
10958
  <ul>
10814
10959
  <li>defines the <code>display</code> field which exposes a human friendly value for the given object.</li>
@@ -10825,6 +10970,11 @@
10825
10970
 
10826
10971
 
10827
10972
 
10973
+
10974
+
10975
+
10976
+
10977
+
10828
10978
  <div class="doc doc-children">
10829
10979
 
10830
10980
 
@@ -10849,7 +10999,7 @@
10849
10999
 
10850
11000
  <div class="doc doc-contents ">
10851
11001
 
10852
- <p>Return whether this is a nested serializer.</p>
11002
+ <p>Return whether this is a nested serializer.</p>
10853
11003
  </div>
10854
11004
 
10855
11005
  </div>
@@ -10867,7 +11017,7 @@
10867
11017
 
10868
11018
  <div class="doc doc-contents ">
10869
11019
 
10870
- <p>Instantiate a BaseModelSerializer.</p>
11020
+ <p>Instantiate a BaseModelSerializer.</p>
10871
11021
  <p>The force_csv kwarg allows you to force _is_csv_request() to evaluate True without passing a Request object,
10872
11022
  which is necessary to be able to export appropriately structured CSV from a Job that doesn't have a Request.</p>
10873
11023
 
@@ -10886,7 +11036,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10886
11036
 
10887
11037
  <div class="doc doc-contents ">
10888
11038
 
10889
- <p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
11039
+ <p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
10890
11040
 
10891
11041
  </div>
10892
11042
 
@@ -10903,7 +11053,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10903
11053
 
10904
11054
  <div class="doc doc-contents ">
10905
11055
 
10906
- <p>Create a property field for model methods and properties.</p>
11056
+ <p>Create a property field for model methods and properties.</p>
10907
11057
 
10908
11058
  </div>
10909
11059
 
@@ -10920,7 +11070,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10920
11070
 
10921
11071
  <div class="doc doc-contents ">
10922
11072
 
10923
- <p>Override DRF's default relational-field construction to be app-aware.</p>
11073
+ <p>Override DRF's default relational-field construction to be app-aware.</p>
10924
11074
 
10925
11075
  </div>
10926
11076
 
@@ -10937,7 +11087,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10937
11087
 
10938
11088
  <div class="doc doc-contents ">
10939
11089
 
10940
- <p>Override DRF's default 'url' field construction to be app-aware.</p>
11090
+ <p>Override DRF's default 'url' field construction to be app-aware.</p>
10941
11091
 
10942
11092
  </div>
10943
11093
 
@@ -10954,7 +11104,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10954
11104
 
10955
11105
  <div class="doc doc-contents ">
10956
11106
 
10957
- <p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
11107
+ <p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
10958
11108
 
10959
11109
  </div>
10960
11110
 
@@ -10971,7 +11121,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10971
11121
 
10972
11122
  <div class="doc doc-contents ">
10973
11123
 
10974
- <p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
11124
+ <p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
10975
11125
 
10976
11126
  </div>
10977
11127
 
@@ -10988,7 +11138,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
10988
11138
 
10989
11139
  <div class="doc doc-contents ">
10990
11140
 
10991
- <p>Override get_field_names() to add some custom logic.</p>
11141
+ <p>Override get_field_names() to add some custom logic.</p>
10992
11142
  <p>Assuming that we follow the pattern where <code>fields = "__all__" for the vast majority of serializers in Nautobot,
10993
11143
  we do not strictly need to use this method to protect against inadvertently omitting standard fields
10994
11144
  like</code>display<code>,</code>created<code>, and</code>last_updated`. However, we continue to do as a bit of redundant safety.</p>
@@ -11021,7 +11171,7 @@ way of <em>excluding</em> fields that we <em>don't</em> want to include by defau
11021
11171
  <div class="doc doc-contents ">
11022
11172
 
11023
11173
 
11024
- <p>Support bulk deletion of objects using the list endpoint for a model. Accepts a DELETE action with a list of one
11174
+ <p>Support bulk deletion of objects using the list endpoint for a model. Accepts a DELETE action with a list of one
11025
11175
  or more JSON objects, each specifying the UUID of an object to be deleted. For example:</p>
11026
11176
  <p>DELETE /api/dcim/locations/
11027
11177
  [
@@ -11032,6 +11182,11 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
11032
11182
 
11033
11183
 
11034
11184
 
11185
+
11186
+
11187
+
11188
+
11189
+
11035
11190
  <div class="doc doc-children">
11036
11191
 
11037
11192
 
@@ -11064,7 +11219,7 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
11064
11219
  <div class="doc doc-contents ">
11065
11220
 
11066
11221
 
11067
- <p>Support bulk modification of objects using the list endpoint for a model. Accepts a PATCH action with a list of one
11222
+ <p>Support bulk modification of objects using the list endpoint for a model. Accepts a PATCH action with a list of one
11068
11223
  or more JSON objects, each specifying the UUID of an object to be updated as well as the attributes to be set.
11069
11224
  For example:</p>
11070
11225
  <p>PATCH /api/dcim/locations/
@@ -11082,6 +11237,11 @@ For example:</p>
11082
11237
 
11083
11238
 
11084
11239
 
11240
+
11241
+
11242
+
11243
+
11244
+
11085
11245
  <div class="doc doc-children">
11086
11246
 
11087
11247
 
@@ -11113,16 +11273,21 @@ For example:</p>
11113
11273
 
11114
11274
  <div class="doc doc-contents ">
11115
11275
  <p class="doc doc-class-bases">
11116
- Bases: <code><autoref identifier="rest_framework.serializers.Field" optional hover>Field</autoref></code></p>
11276
+ Bases: <code><span title="rest_framework.serializers.Field">Field</span></code></p>
11117
11277
 
11118
11278
 
11119
- <p>Represent a ChoiceField as {'value': <DB value>, 'label': <string>}. Accepts a single value on write.</p>
11279
+ <p>Represent a ChoiceField as {'value': <DB value>, 'label': <string>}. Accepts a single value on write.</p>
11120
11280
  <p>:param choices: An iterable of choices in the form (value, key).
11121
11281
  :param allow_blank: Allow blank values in addition to the listed choices.</p>
11122
11282
 
11123
11283
 
11124
11284
 
11125
11285
 
11286
+
11287
+
11288
+
11289
+
11290
+
11126
11291
  <div class="doc doc-children">
11127
11292
 
11128
11293
 
@@ -11154,10 +11319,15 @@ For example:</p>
11154
11319
 
11155
11320
  <div class="doc doc-contents ">
11156
11321
  <p class="doc doc-class-bases">
11157
- Bases: <code><autoref identifier="rest_framework.relations.RelatedField" optional hover>RelatedField</autoref></code></p>
11322
+ Bases: <code><span title="rest_framework.relations.RelatedField">RelatedField</span></code></p>
11323
+
11324
+
11325
+ <p>Represent a ContentType as '<app_label>.<model>'</p>
11326
+
11327
+
11328
+
11158
11329
 
11159
11330
 
11160
- <p>Represent a ContentType as '<app_label>.<model>'</p>
11161
11331
 
11162
11332
 
11163
11333
 
@@ -11193,10 +11363,15 @@ For example:</p>
11193
11363
 
11194
11364
  <div class="doc doc-contents ">
11195
11365
  <p class="doc doc-class-bases">
11196
- Bases: <code><autoref identifier="nautobot.core.api.serializers.ValidatedModelSerializer" optional hover>ValidatedModelSerializer</autoref></code></p>
11366
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
11367
+
11368
+
11369
+ <p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
11370
+
11371
+
11372
+
11197
11373
 
11198
11374
 
11199
- <p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
11200
11375
 
11201
11376
 
11202
11377
 
@@ -11222,7 +11397,7 @@ For example:</p>
11222
11397
 
11223
11398
  <div class="doc doc-contents ">
11224
11399
 
11225
- <p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
11400
+ <p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
11226
11401
 
11227
11402
  </div>
11228
11403
 
@@ -11249,10 +11424,15 @@ For example:</p>
11249
11424
 
11250
11425
  <div class="doc doc-contents ">
11251
11426
  <p class="doc doc-class-bases">
11252
- Bases: <code><autoref identifier="nautobot.core.api.views.ModelViewSet" optional hover>ModelViewSet</autoref></code></p>
11427
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSet" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
11428
+
11429
+
11430
+ <p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
11431
+
11432
+
11433
+
11253
11434
 
11254
11435
 
11255
- <p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
11256
11436
 
11257
11437
 
11258
11438
 
@@ -11288,10 +11468,15 @@ For example:</p>
11288
11468
 
11289
11469
  <div class="doc doc-contents ">
11290
11470
  <p class="doc doc-class-bases">
11291
- Bases: <code><autoref identifier="nautobot.core.api.views.NautobotAPIVersionMixin" optional hover>NautobotAPIVersionMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.views.BulkUpdateModelMixin" optional hover>BulkUpdateModelMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.views.BulkDestroyModelMixin" optional hover>BulkDestroyModelMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.views.ModelViewSetMixin" optional hover>ModelViewSetMixin</autoref></code>, <code><autoref identifier="rest_framework.viewsets.ModelViewSet" optional hover>ModelViewSet</autoref></code></p>
11471
+ 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>
11472
+
11473
+
11474
+ <p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
11475
+
11476
+
11477
+
11292
11478
 
11293
11479
 
11294
- <p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
11295
11480
 
11296
11481
 
11297
11482
 
@@ -11331,6 +11516,11 @@ For example:</p>
11331
11516
 
11332
11517
 
11333
11518
 
11519
+
11520
+
11521
+
11522
+
11523
+
11334
11524
  <div class="doc doc-children">
11335
11525
 
11336
11526
 
@@ -11352,7 +11542,25 @@ For example:</p>
11352
11542
 
11353
11543
  <div class="doc doc-contents ">
11354
11544
 
11355
- <p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
11545
+ <p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
11546
+
11547
+ </div>
11548
+
11549
+ </div>
11550
+
11551
+ <div class="doc doc-object doc-function">
11552
+
11553
+
11554
+ <h3 id="nautobot.apps.api.ModelViewSetMixin.get_queryset" class="doc doc-heading">
11555
+ <code class="highlight language-python"><span class="n">get_queryset</span><span class="p">()</span></code>
11556
+
11557
+ <a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="headerlink" title="Permanent link">&para;</a></h3>
11558
+
11559
+
11560
+ <div class="doc doc-contents ">
11561
+
11562
+ <p>Attempt to optimize the queryset based on the fields present in the associated serializer.</p>
11563
+ <p>See similar logic in nautobot.core.tables.BaseTable.</p>
11356
11564
 
11357
11565
  </div>
11358
11566
 
@@ -11369,7 +11577,7 @@ For example:</p>
11369
11577
 
11370
11578
  <div class="doc doc-contents ">
11371
11579
 
11372
- <p>Runs anything that needs to occur prior to calling the method handler.</p>
11580
+ <p>Runs anything that needs to occur prior to calling the method handler.</p>
11373
11581
  <p>Override of internal Django Rest Framework API.</p>
11374
11582
 
11375
11583
  </div>
@@ -11387,7 +11595,7 @@ For example:</p>
11387
11595
 
11388
11596
  <div class="doc doc-contents ">
11389
11597
 
11390
- <p>Restrict the view's queryset to allow only the permitted objects for the given request.</p>
11598
+ <p>Restrict the view's queryset to allow only the permitted objects for the given request.</p>
11391
11599
  <p>Subclasses (such as nautobot.extras.api.views.JobModelViewSet) may wish to override this.</p>
11392
11600
  <p>Called by initial(), below.</p>
11393
11601
 
@@ -11416,10 +11624,15 @@ For example:</p>
11416
11624
 
11417
11625
  <div class="doc doc-contents ">
11418
11626
  <p class="doc doc-class-bases">
11419
- Bases: <code><autoref identifier="rest_framework.serializers.MultipleChoiceField" optional hover>MultipleChoiceField</autoref></code></p>
11627
+ Bases: <code><span title="rest_framework.serializers.MultipleChoiceField">MultipleChoiceField</span></code></p>
11628
+
11629
+
11630
+ <p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
11631
+
11632
+
11633
+
11420
11634
 
11421
11635
 
11422
- <p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
11423
11636
 
11424
11637
 
11425
11638
 
@@ -11445,7 +11658,7 @@ For example:</p>
11445
11658
 
11446
11659
  <div class="doc doc-contents ">
11447
11660
 
11448
- <p>Overload default choices handling to also accept a callable.</p>
11661
+ <p>Overload default choices handling to also accept a callable.</p>
11449
11662
 
11450
11663
  </div>
11451
11664
 
@@ -11472,10 +11685,15 @@ For example:</p>
11472
11685
 
11473
11686
  <div class="doc doc-contents ">
11474
11687
  <p class="doc doc-class-bases">
11475
- Bases: <code><autoref identifier="drf_spectacular.openapi.AutoSchema" optional hover>AutoSchema</autoref></code></p>
11688
+ Bases: <code><span title="drf_spectacular.openapi.AutoSchema">AutoSchema</span></code></p>
11689
+
11690
+
11691
+ <p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
11692
+
11693
+
11694
+
11476
11695
 
11477
11696
 
11478
- <p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
11479
11697
 
11480
11698
 
11481
11699
 
@@ -11504,7 +11722,7 @@ For example:</p>
11504
11722
 
11505
11723
  <div class="doc doc-contents ">
11506
11724
 
11507
- <p>Custom property for convenience.</p>
11725
+ <p>Custom property for convenience.</p>
11508
11726
  </div>
11509
11727
 
11510
11728
  </div>
@@ -11525,7 +11743,7 @@ For example:</p>
11525
11743
 
11526
11744
  <div class="doc doc-contents ">
11527
11745
 
11528
- <p>Custom property for convenience.</p>
11746
+ <p>Custom property for convenience.</p>
11529
11747
  </div>
11530
11748
 
11531
11749
  </div>
@@ -11543,7 +11761,7 @@ For example:</p>
11543
11761
 
11544
11762
  <div class="doc doc-contents ">
11545
11763
 
11546
- <p>Get the appropriate description for a given API endpoint.</p>
11764
+ <p>Get the appropriate description for a given API endpoint.</p>
11547
11765
  <p>By default, if a specific action doesn't have its own docstring, and neither does the view class,
11548
11766
  drf-spectacular will walk up the MRO of the view class until it finds a docstring, and use that.
11549
11767
  Most of our viewsets (for better or for worse) do not have docstrings, and so it'll find and use the generic
@@ -11566,7 +11784,7 @@ make an attempt at rendering a basically accurate default description.</p>
11566
11784
 
11567
11785
  <div class="doc doc-contents ">
11568
11786
 
11569
- <p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
11787
+ <p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
11570
11788
 
11571
11789
  </div>
11572
11790
 
@@ -11583,7 +11801,7 @@ make an attempt at rendering a basically accurate default description.</p>
11583
11801
 
11584
11802
  <div class="doc doc-contents ">
11585
11803
 
11586
- <p>Extend the base method to handle Nautobot's REST API bulk operations.</p>
11804
+ <p>Extend the base method to handle Nautobot's REST API bulk operations.</p>
11587
11805
  <p>Without this extension, every one of our ModelViewSet classes will result in drf-spectacular complaining
11588
11806
  about operationId collisions, e.g. between DELETE /api/dcim/devices/ and DELETE /api/dcim/devices/<pk>/ would
11589
11807
  both get resolved to the same "dcim_devices_destroy" operation-id and this would make drf-spectacular complain.</p>
@@ -11604,7 +11822,7 @@ both get resolved to the same "dcim_devices_destroy" operation-id and this would
11604
11822
 
11605
11823
  <div class="doc doc-contents ">
11606
11824
 
11607
- <p>Return the request serializer (used for describing/parsing the request payload) for this endpoint.</p>
11825
+ <p>Return the request serializer (used for describing/parsing the request payload) for this endpoint.</p>
11608
11826
  <p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
11609
11827
  with required data (PATCH, POST, PUT). In those cases we replace FooSerializer with a dynamically-defined
11610
11828
  WritableFooSerializer class in order to more accurately represent the available options on write.</p>
@@ -11626,7 +11844,7 @@ require a list of serializers as input, rather than a single one.</p>
11626
11844
 
11627
11845
  <div class="doc doc-contents ">
11628
11846
 
11629
- <p>Return the response serializer (used for describing the response payload) for this endpoint.</p>
11847
+ <p>Return the response serializer (used for describing the response payload) for this endpoint.</p>
11630
11848
  <p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
11631
11849
  to a bulk endpoint, which returns a list of serializers, rather than a single one.</p>
11632
11850
 
@@ -11645,7 +11863,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
11645
11863
 
11646
11864
  <div class="doc doc-contents ">
11647
11865
 
11648
- <p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
11866
+ <p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
11649
11867
  <p>Based on drf_yasg.utils.get_serializer_ref_name().</p>
11650
11868
 
11651
11869
  </div>
@@ -11663,7 +11881,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
11663
11881
 
11664
11882
  <div class="doc doc-contents ">
11665
11883
 
11666
- <p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
11884
+ <p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
11667
11885
  <p>If no [Bulk]WritableFooSerializer class is needed, returns None instead.</p>
11668
11886
 
11669
11887
  </div>
@@ -11681,7 +11899,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
11681
11899
 
11682
11900
  <div class="doc doc-contents ">
11683
11901
 
11684
- <p>Re-add required <code>id</code> field on bulk_partial_update action.</p>
11902
+ <p>Re-add required <code>id</code> field on bulk_partial_update action.</p>
11685
11903
  <p>drf-spectacular clears the <code>required</code> list for any partial serializers in its <code>_map_basic_serializer()</code>,
11686
11904
  but Nautobot bulk partial updates require the <code>id</code> field to be specified for each object to update.</p>
11687
11905
 
@@ -11710,10 +11928,15 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
11710
11928
 
11711
11929
  <div class="doc doc-contents ">
11712
11930
  <p class="doc doc-class-bases">
11713
- Bases: <code><autoref identifier="rest_framework.parsers.BaseParser" optional hover>BaseParser</autoref></code></p>
11931
+ Bases: <code><span title="rest_framework.parsers.BaseParser">BaseParser</span></code></p>
11932
+
11933
+
11934
+ <p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
11935
+
11936
+
11937
+
11714
11938
 
11715
11939
 
11716
- <p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
11717
11940
 
11718
11941
 
11719
11942
 
@@ -11739,7 +11962,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
11739
11962
 
11740
11963
  <div class="doc doc-contents ">
11741
11964
 
11742
- <p>Parse a single row of CSV data (represented as a dict) into a dict suitable for consumption by the serializer.</p>
11965
+ <p>Parse a single row of CSV data (represented as a dict) into a dict suitable for consumption by the serializer.</p>
11743
11966
  <p>TODO: it would be more elegant if our serializer fields knew how to deserialize the CSV data themselves;
11744
11967
  could we then literally have the parser just return list(reader) and not need this function at all?</p>
11745
11968
 
@@ -11768,10 +11991,15 @@ could we then literally have the parser just return list(reader) and not need th
11768
11991
 
11769
11992
  <div class="doc doc-contents ">
11770
11993
  <p class="doc doc-class-bases">
11771
- Bases: <code><autoref identifier="nautobot.core.api.mixins.WritableSerializerMixin" optional hover>WritableSerializerMixin</autoref></code>, <code><autoref identifier="rest_framework.serializers.HyperlinkedRelatedField" optional hover>HyperlinkedRelatedField</autoref></code></p>
11994
+ 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>
11995
+
11996
+
11997
+ <p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
11998
+
11999
+
12000
+
11772
12001
 
11773
12002
 
11774
- <p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
11775
12003
 
11776
12004
 
11777
12005
 
@@ -11797,7 +12025,7 @@ could we then literally have the parser just return list(reader) and not need th
11797
12025
 
11798
12026
  <div class="doc doc-contents ">
11799
12027
 
11800
- <p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
12028
+ <p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
11801
12029
  <p>DRF defaults to '{model_name}-detail' instead of '{app_label}:{model_name}-detail'.</p>
11802
12030
 
11803
12031
  </div>
@@ -11815,7 +12043,7 @@ could we then literally have the parser just return list(reader) and not need th
11815
12043
 
11816
12044
  <div class="doc doc-contents ">
11817
12045
 
11818
- <p>Convert potentially nested representation to a model instance.</p>
12046
+ <p>Convert potentially nested representation to a model instance.</p>
11819
12047
 
11820
12048
  </div>
11821
12049
 
@@ -11832,7 +12060,7 @@ could we then literally have the parser just return list(reader) and not need th
11832
12060
 
11833
12061
  <div class="doc doc-contents ">
11834
12062
 
11835
- <p>Convert URL representation to a brief nested representation.</p>
12063
+ <p>Convert URL representation to a brief nested representation.</p>
11836
12064
 
11837
12065
  </div>
11838
12066
 
@@ -11859,15 +12087,20 @@ could we then literally have the parser just return list(reader) and not need th
11859
12087
 
11860
12088
  <div class="doc doc-contents ">
11861
12089
  <p class="doc doc-class-bases">
11862
- Bases: <code><autoref identifier="nautobot.core.api.serializers.RelationshipModelSerializerMixin" optional hover>RelationshipModelSerializerMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.serializers.CustomFieldModelSerializerMixin" optional hover>CustomFieldModelSerializerMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.serializers.NotesSerializerMixin" optional hover>NotesSerializerMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.serializers.ValidatedModelSerializer" optional hover>ValidatedModelSerializer</autoref></code></p>
12090
+ 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>
11863
12091
 
11864
12092
 
11865
- <p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
12093
+ <p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
11866
12094
  <p>Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.</p>
11867
12095
 
11868
12096
 
11869
12097
 
11870
12098
 
12099
+
12100
+
12101
+
12102
+
12103
+
11871
12104
  <div class="doc doc-children">
11872
12105
 
11873
12106
 
@@ -11899,15 +12132,20 @@ could we then literally have the parser just return list(reader) and not need th
11899
12132
 
11900
12133
  <div class="doc doc-contents ">
11901
12134
  <p class="doc doc-class-bases">
11902
- Bases: <code><autoref identifier="nautobot.extras.api.views.NotesViewSetMixin" optional hover>NotesViewSetMixin</autoref></code>, <code><autoref identifier="nautobot.extras.api.views.CustomFieldModelViewSet" optional hover>CustomFieldModelViewSet</autoref></code></p>
12135
+ 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>
11903
12136
 
11904
12137
 
11905
- <p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
12138
+ <p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
11906
12139
  <p>Can also be used for models derived from BaseModel, so long as they support Notes.</p>
11907
12140
 
11908
12141
 
11909
12142
 
11910
12143
 
12144
+
12145
+
12146
+
12147
+
12148
+
11911
12149
  <div class="doc doc-children">
11912
12150
 
11913
12151
 
@@ -11939,10 +12177,15 @@ could we then literally have the parser just return list(reader) and not need th
11939
12177
 
11940
12178
  <div class="doc doc-contents ">
11941
12179
  <p class="doc doc-class-bases">
11942
- Bases: <code><autoref identifier="nautobot.core.api.serializers.BaseModelSerializer" optional hover>BaseModelSerializer</autoref></code></p>
12180
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
12181
+
12182
+
12183
+ <p>Extend Serializer with a <code>notes</code> field.</p>
12184
+
12185
+
12186
+
11943
12187
 
11944
12188
 
11945
- <p>Extend Serializer with a <code>notes</code> field.</p>
11946
12189
 
11947
12190
 
11948
12191
 
@@ -11968,7 +12211,7 @@ could we then literally have the parser just return list(reader) and not need th
11968
12211
 
11969
12212
  <div class="doc doc-contents ">
11970
12213
 
11971
- <p>Ensure that fields includes "notes_url" field if applicable.</p>
12214
+ <p>Ensure that fields includes "notes_url" field if applicable.</p>
11972
12215
 
11973
12216
  </div>
11974
12217
 
@@ -11999,6 +12242,11 @@ could we then literally have the parser just return list(reader) and not need th
11999
12242
 
12000
12243
 
12001
12244
 
12245
+
12246
+
12247
+
12248
+
12249
+
12002
12250
  <div class="doc doc-children">
12003
12251
 
12004
12252
 
@@ -12021,10 +12269,15 @@ could we then literally have the parser just return list(reader) and not need th
12021
12269
 
12022
12270
  <div class="doc doc-contents ">
12023
12271
  <p class="doc doc-class-bases">
12024
- Bases: <code><autoref identifier="nautobot.core.api.authentication.TokenPermissions" optional hover>TokenPermissions</autoref></code></p>
12272
+ Bases: <code><span title="nautobot.core.api.authentication.TokenPermissions">TokenPermissions</span></code></p>
12273
+
12274
+
12275
+ <p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
12276
+
12277
+
12278
+
12025
12279
 
12026
12280
 
12027
- <p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
12028
12281
 
12029
12282
 
12030
12283
 
@@ -12059,7 +12312,7 @@ could we then literally have the parser just return list(reader) and not need th
12059
12312
 
12060
12313
  <div class="doc doc-contents ">
12061
12314
 
12062
- <p>API methods for returning or creating notes on an object.</p>
12315
+ <p>API methods for returning or creating notes on an object.</p>
12063
12316
 
12064
12317
  </div>
12065
12318
 
@@ -12076,7 +12329,7 @@ could we then literally have the parser just return list(reader) and not need th
12076
12329
 
12077
12330
  <div class="doc doc-contents ">
12078
12331
 
12079
- <p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
12332
+ <p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
12080
12333
 
12081
12334
  </div>
12082
12335
 
@@ -12103,10 +12356,15 @@ could we then literally have the parser just return list(reader) and not need th
12103
12356
 
12104
12357
  <div class="doc doc-contents ">
12105
12358
  <p class="doc doc-class-bases">
12106
- Bases: <code><autoref identifier="rest_framework.serializers.CharField" optional hover>CharField</autoref></code></p>
12359
+ Bases: <code><span title="rest_framework.serializers.CharField">CharField</span></code></p>
12360
+
12361
+
12362
+ <p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
12363
+
12364
+
12365
+
12107
12366
 
12108
12367
 
12109
- <p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
12110
12368
 
12111
12369
 
12112
12370
 
@@ -12132,7 +12390,7 @@ could we then literally have the parser just return list(reader) and not need th
12132
12390
 
12133
12391
  <div class="doc doc-contents ">
12134
12392
 
12135
- <p>Default read_only to True as this should never be a writable field.</p>
12393
+ <p>Default read_only to True as this should never be a writable field.</p>
12136
12394
 
12137
12395
  </div>
12138
12396
 
@@ -12149,7 +12407,7 @@ could we then literally have the parser just return list(reader) and not need th
12149
12407
 
12150
12408
  <div class="doc doc-contents ">
12151
12409
 
12152
- <p>Get the content-type of this serializer's model.</p>
12410
+ <p>Get the content-type of this serializer's model.</p>
12153
12411
  <p>Implemented this way because <code>_value</code> may be None when generating the schema.</p>
12154
12412
 
12155
12413
  </div>
@@ -12178,8 +12436,13 @@ could we then literally have the parser just return list(reader) and not need th
12178
12436
  <div class="doc doc-contents ">
12179
12437
 
12180
12438
 
12181
- <p>A serializer mixin that takes an additional <code>opt_in_fields</code> argument that controls
12182
- which fields should be displayed.</p>
12439
+ <p>Serializer mixin that adjusts its fields based on the <code>include</code> and <code>exclude_m2m</code> query parameters in a request.</p>
12440
+ <p>The serializer's <code>Meta.opt_in_fields</code> controls which fields are influenced by <code>include</code>.</p>
12441
+
12442
+
12443
+
12444
+
12445
+
12183
12446
 
12184
12447
 
12185
12448
 
@@ -12208,8 +12471,12 @@ which fields should be displayed.</p>
12208
12471
 
12209
12472
  <div class="doc doc-contents ">
12210
12473
 
12211
- <p>Removes all serializer fields specified in a serializers <code>opt_in_fields</code> list that aren't specified in the
12212
- <code>include</code> query parameter.</p>
12474
+ <p>Dynamically adjust the dictionary of fields attributed to this serializer instance.</p>
12475
+ <ul>
12476
+ <li>Removes all serializer fields specified in <code>Meta.opt_in_fields</code> list that aren't specified in the
12477
+ <code>include</code> query parameter. (applies to GET requests only)</li>
12478
+ <li>If the <code>exclude_m2m</code> query parameter is truthy, remove all many-to-many serializer fields for performance.</li>
12479
+ </ul>
12213
12480
  <p>As an example, if the serializer specifies that <code>opt_in_fields = ["computed_fields"]</code>
12214
12481
  but <code>computed_fields</code> is not specified in the <code>?include</code> query parameter, <code>computed_fields</code> will be popped
12215
12482
  from the list of fields.</p>
@@ -12240,7 +12507,12 @@ from the list of fields.</p>
12240
12507
 
12241
12508
  <div class="doc doc-contents ">
12242
12509
  <p class="doc doc-class-bases">
12243
- Bases: <code><autoref identifier="rest_framework.routers.DefaultRouter" optional hover>DefaultRouter</autoref></code></p>
12510
+ Bases: <code><span title="rest_framework.routers.DefaultRouter">DefaultRouter</span></code></p>
12511
+
12512
+
12513
+
12514
+
12515
+
12244
12516
 
12245
12517
 
12246
12518
 
@@ -12267,7 +12539,7 @@ from the list of fields.</p>
12267
12539
 
12268
12540
  <div class="doc doc-contents ">
12269
12541
 
12270
- <p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
12542
+ <p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
12271
12543
 
12272
12544
  </div>
12273
12545
 
@@ -12284,7 +12556,7 @@ from the list of fields.</p>
12284
12556
 
12285
12557
  <div class="doc doc-contents ">
12286
12558
 
12287
- <p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
12559
+ <p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
12288
12560
  <p>(Reference: https://github.com/encode/django-rest-framework/pull/8438)</p>
12289
12561
 
12290
12562
  </div>
@@ -12312,10 +12584,15 @@ from the list of fields.</p>
12312
12584
 
12313
12585
  <div class="doc doc-contents ">
12314
12586
  <p class="doc doc-class-bases">
12315
- Bases: <code><autoref identifier="nautobot.core.api.views.NautobotAPIVersionMixin" optional hover>NautobotAPIVersionMixin</autoref></code>, <code><autoref identifier="nautobot.core.api.views.ModelViewSetMixin" optional hover>ModelViewSetMixin</autoref></code>, <code><autoref identifier="rest_framework.viewsets.ReadOnlyModelViewSet" optional hover>ReadOnlyModelViewSet</autoref></code></p>
12587
+ 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>
12588
+
12589
+
12590
+ <p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
12591
+
12592
+
12593
+
12316
12594
 
12317
12595
 
12318
- <p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
12319
12596
 
12320
12597
 
12321
12598
 
@@ -12351,10 +12628,15 @@ from the list of fields.</p>
12351
12628
 
12352
12629
  <div class="doc doc-contents ">
12353
12630
  <p class="doc doc-class-bases">
12354
- Bases: <code><autoref identifier="nautobot.core.api.serializers.ValidatedModelSerializer" optional hover>ValidatedModelSerializer</autoref></code></p>
12631
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
12632
+
12633
+
12634
+ <p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
12635
+
12636
+
12637
+
12355
12638
 
12356
12639
 
12357
- <p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
12358
12640
 
12359
12641
 
12360
12642
 
@@ -12380,7 +12662,7 @@ from the list of fields.</p>
12380
12662
 
12381
12663
  <div class="doc doc-contents ">
12382
12664
 
12383
- <p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
12665
+ <p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
12384
12666
 
12385
12667
  </div>
12386
12668
 
@@ -12407,15 +12689,20 @@ from the list of fields.</p>
12407
12689
 
12408
12690
  <div class="doc doc-contents ">
12409
12691
  <p class="doc doc-class-bases">
12410
- Bases: <code><autoref identifier="rest_framework.relations.PrimaryKeyRelatedField" optional hover>PrimaryKeyRelatedField</autoref></code></p>
12692
+ Bases: <code><span title="rest_framework.relations.PrimaryKeyRelatedField">PrimaryKeyRelatedField</span></code></p>
12411
12693
 
12412
12694
 
12413
- <p>Extends PrimaryKeyRelatedField to return a serialized object on read. This is useful for representing related
12695
+ <p>Extends PrimaryKeyRelatedField to return a serialized object on read. This is useful for representing related
12414
12696
  objects in a ManyToManyField while still allowing a set of primary keys to be written.</p>
12415
12697
 
12416
12698
 
12417
12699
 
12418
12700
 
12701
+
12702
+
12703
+
12704
+
12705
+
12419
12706
  <div class="doc doc-children">
12420
12707
 
12421
12708
 
@@ -12447,7 +12734,12 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12447
12734
 
12448
12735
  <div class="doc doc-contents ">
12449
12736
  <p class="doc doc-class-bases">
12450
- Bases: <code><autoref identifier="nautobot.core.api.BaseModelSerializer" optional hover>BaseModelSerializer</autoref></code></p>
12737
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
12738
+
12739
+
12740
+
12741
+
12742
+
12451
12743
 
12452
12744
 
12453
12745
 
@@ -12474,7 +12766,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12474
12766
 
12475
12767
  <div class="doc doc-contents ">
12476
12768
 
12477
- <p>Ensure that 'tags' field is always present except on nested serializers.</p>
12769
+ <p>Ensure that 'tags' field is always present except on nested serializers.</p>
12478
12770
 
12479
12771
  </div>
12480
12772
 
@@ -12501,10 +12793,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12501
12793
 
12502
12794
  <div class="doc doc-contents ">
12503
12795
  <p class="doc doc-class-bases">
12504
- Bases: <code><autoref identifier="timezone_field.rest_framework.TimeZoneSerializerField" optional hover>TimeZoneSerializerField</autoref></code></p>
12796
+ Bases: <code><span title="timezone_field.rest_framework.TimeZoneSerializerField">TimeZoneSerializerField</span></code></p>
12797
+
12798
+
12799
+ <p>Represents a time zone as a string.</p>
12800
+
12801
+
12802
+
12505
12803
 
12506
12804
 
12507
- <p>Represents a time zone as a string.</p>
12508
12805
 
12509
12806
 
12510
12807
  </div>
@@ -12524,10 +12821,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12524
12821
 
12525
12822
  <div class="doc doc-contents ">
12526
12823
  <p class="doc doc-class-bases">
12527
- Bases: <code><autoref identifier="nautobot.core.api.serializers.BaseModelSerializer" optional hover>BaseModelSerializer</autoref></code></p>
12824
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
12825
+
12826
+
12827
+ <p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
12828
+
12829
+
12830
+
12528
12831
 
12529
12832
 
12530
- <p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
12531
12833
 
12532
12834
 
12533
12835
 
@@ -12553,7 +12855,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12553
12855
 
12554
12856
  <div class="doc doc-contents ">
12555
12857
 
12556
- <p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
12858
+ <p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
12557
12859
 
12558
12860
  </div>
12559
12861
 
@@ -12570,7 +12872,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12570
12872
 
12571
12873
  <div class="doc doc-contents ">
12572
12874
 
12573
- <p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
12875
+ <p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
12574
12876
 
12575
12877
  </div>
12576
12878
 
@@ -12597,15 +12899,20 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
12597
12899
 
12598
12900
  <div class="doc doc-contents ">
12599
12901
  <p class="doc doc-class-bases">
12600
- Bases: <code><autoref identifier="nautobot.core.api.serializers.BaseModelSerializer" optional hover>BaseModelSerializer</autoref></code></p>
12902
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
12601
12903
 
12602
12904
 
12603
- <p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
12905
+ <p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
12604
12906
  validation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)</p>
12605
12907
 
12606
12908
 
12607
12909
 
12608
12910
 
12911
+
12912
+
12913
+
12914
+
12915
+
12609
12916
  <div class="doc doc-children">
12610
12917
 
12611
12918
 
@@ -12637,10 +12944,10 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
12637
12944
 
12638
12945
  <div class="doc doc-contents ">
12639
12946
  <p class="doc doc-class-bases">
12640
- Bases: <code><autoref identifier="nautobot.core.api.serializers.BaseModelSerializer" optional hover>BaseModelSerializer</autoref></code></p>
12947
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
12641
12948
 
12642
12949
 
12643
- <p>Returns a nested representation of an object on read, but accepts either the nested representation or the
12950
+ <p>Returns a nested representation of an object on read, but accepts either the nested representation or the
12644
12951
  primary key value on write operations.</p>
12645
12952
  <p>Note that subclasses will always have a read-only <code>object_type</code> field, which represents the content-type of this
12646
12953
  serializer's associated model (e.g. "dcim.device"). This is required as the OpenAPI schema, using the
@@ -12650,6 +12957,11 @@ which of several possible nested serializers are in use for a given attribute.</
12650
12957
 
12651
12958
 
12652
12959
 
12960
+
12961
+
12962
+
12963
+
12964
+
12653
12965
  <div class="doc doc-children">
12654
12966
 
12655
12967
 
@@ -12682,7 +12994,7 @@ which of several possible nested serializers are in use for a given attribute.</
12682
12994
  <div class="doc doc-contents ">
12683
12995
 
12684
12996
 
12685
- <p>WritableSerializerMixin provides the to_internal_value() function.
12997
+ <p>WritableSerializerMixin provides the to_internal_value() function.
12686
12998
  The function provides the ability to write API requests that identify unique objects based on
12687
12999
  combinations of fields other than the primary key.
12688
13000
  e.g:
@@ -12693,6 +13005,11 @@ vs
12693
13005
 
12694
13006
 
12695
13007
 
13008
+
13009
+
13010
+
13011
+
13012
+
12696
13013
  <div class="doc doc-children">
12697
13014
 
12698
13015
 
@@ -12714,7 +13031,7 @@ vs
12714
13031
 
12715
13032
  <div class="doc doc-contents ">
12716
13033
 
12717
- <p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
13034
+ <p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
12718
13035
 
12719
13036
  </div>
12720
13037
 
@@ -12731,7 +13048,7 @@ vs
12731
13048
 
12732
13049
  <div class="doc doc-contents ">
12733
13050
 
12734
- <p>Data could be a dictionary and an int (for the User model) or a str that represents the primary key.
13051
+ <p>Data could be a dictionary and an int (for the User model) or a str that represents the primary key.
12735
13052
  If it is a dictionary, we return it after remove non-filter fields.
12736
13053
  If it is a primary key, we return a dictionary object formatted like this {"pk": pk}</p>
12737
13054
 
@@ -12750,7 +13067,7 @@ If it is a primary key, we return a dictionary object formatted like this {"pk":
12750
13067
 
12751
13068
  <div class="doc doc-contents ">
12752
13069
 
12753
- <p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
13070
+ <p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
12754
13071
  data any serializer fields that do not correspond to a specific model field</p>
12755
13072
 
12756
13073
  </div>
@@ -12768,7 +13085,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12768
13085
 
12769
13086
  <div class="doc doc-contents ">
12770
13087
 
12771
- <p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
13088
+ <p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
12772
13089
 
12773
13090
  </div>
12774
13091
 
@@ -12794,7 +13111,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12794
13111
 
12795
13112
  <div class="doc doc-contents ">
12796
13113
 
12797
- <p>Translate a dictionary of attributes to a nested set of parameters suitable for QuerySet filtering. For example:</p>
13114
+ <p>Translate a dictionary of attributes to a nested set of parameters suitable for QuerySet filtering. For example:</p>
12798
13115
  <div class="highlight"><pre><span></span><code>{
12799
13116
  &quot;name&quot;: &quot;Foo&quot;,
12800
13117
  &quot;rack&quot;: {
@@ -12827,7 +13144,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12827
13144
 
12828
13145
  <div class="doc doc-contents ">
12829
13146
 
12830
- <p>Dynamically import a class from an absolute path string</p>
13147
+ <p>Dynamically import a class from an absolute path string</p>
12831
13148
 
12832
13149
  </div>
12833
13150
 
@@ -12844,7 +13161,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12844
13161
 
12845
13162
  <div class="doc doc-contents ">
12846
13163
 
12847
- <p>Returns the serializer of an api_version</p>
13164
+ <p>Returns the serializer of an api_version</p>
12848
13165
 
12849
13166
 
12850
13167
  <p><span class="doc-section-title">Parameters:</span></p>
@@ -12859,9 +13176,11 @@ data any serializer fields that do not correspond to a specific model field</p>
12859
13176
  </thead>
12860
13177
  <tbody>
12861
13178
  <tr class="doc-section-item">
12862
- <td><code>serializer_choices</code></td>
12863
13179
  <td>
12864
- <code><autoref identifier="tuple" optional>tuple</autoref></code>
13180
+ <code>serializer_choices</code>
13181
+ </td>
13182
+ <td>
13183
+ <code>tuple</code>
12865
13184
  </td>
12866
13185
  <td>
12867
13186
  <div class="doc-md-description">
@@ -12873,9 +13192,11 @@ data any serializer fields that do not correspond to a specific model field</p>
12873
13192
  </td>
12874
13193
  </tr>
12875
13194
  <tr class="doc-section-item">
12876
- <td><code>api_version</code></td>
12877
13195
  <td>
12878
- <code><autoref identifier="str" optional>str</autoref></code>
13196
+ <code>api_version</code>
13197
+ </td>
13198
+ <td>
13199
+ <code>str</code>
12879
13200
  </td>
12880
13201
  <td>
12881
13202
  <div class="doc-md-description">
@@ -12901,7 +13222,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12901
13222
  <tbody>
12902
13223
  <tr class="doc-section-item">
12903
13224
  <td>
12904
- <code><autoref identifier="Serializer" optional>Serializer</autoref></code>
13225
+ <code>Serializer</code>
12905
13226
  </td>
12906
13227
  <td>
12907
13228
  <div class="doc-md-description">
@@ -12927,7 +13248,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12927
13248
 
12928
13249
  <div class="doc doc-contents ">
12929
13250
 
12930
- <p>Dynamically resolve and return the appropriate serializer for a model.</p>
13251
+ <p>Dynamically resolve and return the appropriate serializer for a model.</p>
12931
13252
 
12932
13253
 
12933
13254
  <p><span class="doc-section-title">Raises:</span></p>
@@ -12941,7 +13262,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12941
13262
  <tbody>
12942
13263
  <tr class="doc-section-item">
12943
13264
  <td>
12944
- <code><autoref identifier="SerializerNotFound" optional>SerializerNotFound</autoref></code>
13265
+ <code>SerializerNotFound</code>
12945
13266
  </td>
12946
13267
  <td>
12947
13268
  <div class="doc-md-description">
@@ -12967,7 +13288,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12967
13288
 
12968
13289
  <div class="doc doc-contents ">
12969
13290
 
12970
- <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>
13291
+ <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>
12971
13292
 
12972
13293
  </div>
12973
13294
 
@@ -12984,7 +13305,7 @@ data any serializer fields that do not correspond to a specific model field</p>
12984
13305
 
12985
13306
  <div class="doc doc-contents ">
12986
13307
 
12987
- <p>Return True of the request is being made via the REST API.</p>
13308
+ <p>Return True of the request is being made via the REST API.</p>
12988
13309
 
12989
13310
  </div>
12990
13311
 
@@ -13001,7 +13322,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13001
13322
 
13002
13323
  <div class="doc doc-contents ">
13003
13324
 
13004
- <p>Handle exceptions and return a useful error message for REST API requests.</p>
13325
+ <p>Handle exceptions and return a useful error message for REST API requests.</p>
13005
13326
 
13006
13327
  </div>
13007
13328
 
@@ -13018,7 +13339,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13018
13339
 
13019
13340
  <div class="doc doc-contents ">
13020
13341
 
13021
- <p>Returns appropriate serializer class depending on request api_version, and swagger_fake_view</p>
13342
+ <p>Returns appropriate serializer class depending on request api_version, and swagger_fake_view</p>
13022
13343
 
13023
13344
 
13024
13345
  <p><span class="doc-section-title">Parameters:</span></p>
@@ -13033,7 +13354,9 @@ data any serializer fields that do not correspond to a specific model field</p>
13033
13354
  </thead>
13034
13355
  <tbody>
13035
13356
  <tr class="doc-section-item">
13036
- <td><code>obj</code></td>
13357
+ <td>
13358
+ <code>obj</code>
13359
+ </td>
13037
13360
  <td>
13038
13361
  <code>ViewSet instance</code>
13039
13362
  </td>
@@ -13047,9 +13370,11 @@ data any serializer fields that do not correspond to a specific model field</p>
13047
13370
  </td>
13048
13371
  </tr>
13049
13372
  <tr class="doc-section-item">
13050
- <td><code>serializer_choices</code></td>
13051
13373
  <td>
13052
- <code><autoref identifier="tuple" optional>tuple</autoref></code>
13374
+ <code>serializer_choices</code>
13375
+ </td>
13376
+ <td>
13377
+ <code>tuple</code>
13053
13378
  </td>
13054
13379
  <td>
13055
13380
  <div class="doc-md-description">
@@ -13061,9 +13386,11 @@ data any serializer fields that do not correspond to a specific model field</p>
13061
13386
  </td>
13062
13387
  </tr>
13063
13388
  <tr class="doc-section-item">
13064
- <td><code>default_serializer</code></td>
13065
13389
  <td>
13066
- <code><autoref identifier="Serializer" optional>Serializer</autoref></code>
13390
+ <code>default_serializer</code>
13391
+ </td>
13392
+ <td>
13393
+ <code>Serializer</code>
13067
13394
  </td>
13068
13395
  <td>
13069
13396
  <div class="doc-md-description">
@@ -13184,7 +13511,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13184
13511
 
13185
13512
 
13186
13513
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
13187
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 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>
13514
+ <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>
13188
13515
  </a>
13189
13516
 
13190
13517
 
@@ -13192,7 +13519,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13192
13519
 
13193
13520
 
13194
13521
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
13195
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.1 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>
13522
+ <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>
13196
13523
  </a>
13197
13524
 
13198
13525
 
@@ -13200,7 +13527,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13200
13527
 
13201
13528
 
13202
13529
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
13203
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.1 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>
13530
+ <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>
13204
13531
  </a>
13205
13532
 
13206
13533
 
@@ -13208,7 +13535,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13208
13535
 
13209
13536
 
13210
13537
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
13211
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.1 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>
13538
+ <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>
13212
13539
  </a>
13213
13540
 
13214
13541
 
@@ -13216,7 +13543,7 @@ data any serializer fields that do not correspond to a specific model field</p>
13216
13543
 
13217
13544
 
13218
13545
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
13219
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.1 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>
13546
+ <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>
13220
13547
  </a>
13221
13548
 
13222
13549
  </div>
@@ -13231,10 +13558,10 @@ data any serializer fields that do not correspond to a specific model field</p>
13231
13558
  </div>
13232
13559
 
13233
13560
 
13234
- <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.6ce7567c.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
13561
+ <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>
13235
13562
 
13236
13563
 
13237
- <script src="../../../assets/javascripts/bundle.83f73b43.min.js"></script>
13564
+ <script src="../../../assets/javascripts/bundle.60a45f97.min.js"></script>
13238
13565
 
13239
13566
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
13240
13567