openedx-learning 0.18.0__tar.gz → 0.18.2__tar.gz

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.
Files changed (128) hide show
  1. {openedx_learning-0.18.0/openedx_learning.egg-info → openedx_learning-0.18.2}/PKG-INFO +15 -5
  2. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/__init__.py +1 -1
  3. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/models.py +1 -5
  4. {openedx_learning-0.18.0 → openedx_learning-0.18.2/openedx_learning.egg-info}/PKG-INFO +15 -5
  5. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/serializers.py +1 -2
  6. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/views.py +10 -2
  7. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/CHANGELOG.rst +0 -0
  8. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/LICENSE.txt +0 -0
  9. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/MANIFEST.in +0 -0
  10. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/README.rst +0 -0
  11. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/api/__init__.py +0 -0
  12. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/api/authoring.py +0 -0
  13. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/api/authoring_models.py +0 -0
  14. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/__init__.py +0 -0
  15. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/__init__.py +0 -0
  16. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/__init__.py +0 -0
  17. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/admin.py +0 -0
  18. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/api.py +0 -0
  19. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/apps.py +0 -0
  20. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/0001_initial.py +0 -0
  21. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/0002_remove_collection_name_collection_created_by_and_more.py +0 -0
  22. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/0003_collection_entities.py +0 -0
  23. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/0004_collection_key.py +0 -0
  24. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/0005_alter_collection_options_alter_collection_enabled.py +0 -0
  25. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/migrations/__init__.py +0 -0
  26. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/collections/models.py +0 -0
  27. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/__init__.py +0 -0
  28. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/admin.py +0 -0
  29. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/api.py +0 -0
  30. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/apps.py +0 -0
  31. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/management/__init__.py +0 -0
  32. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/management/commands/__init__.py +0 -0
  33. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/management/commands/add_assets_to_component.py +0 -0
  34. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/migrations/0001_initial.py +0 -0
  35. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/migrations/0002_alter_componentversioncontent_key.py +0 -0
  36. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/migrations/0003_remove_componentversioncontent_learner_downloadable.py +0 -0
  37. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/migrations/__init__.py +0 -0
  38. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/components/models.py +0 -0
  39. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/__init__.py +0 -0
  40. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/admin.py +0 -0
  41. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/api.py +0 -0
  42. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/apps.py +0 -0
  43. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/migrations/0001_initial.py +0 -0
  44. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/contents/migrations/__init__.py +0 -0
  45. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/__init__.py +0 -0
  46. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/admin.py +0 -0
  47. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/api.py +0 -0
  48. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/apps.py +0 -0
  49. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/migrations/0001_initial.py +0 -0
  50. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/migrations/0002_alter_learningpackage_key_and_more.py +0 -0
  51. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/migrations/__init__.py +0 -0
  52. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/model_mixins.py +0 -0
  53. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/apps/authoring/publishing/models.py +0 -0
  54. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/contrib/__init__.py +0 -0
  55. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/contrib/media_server/__init__.py +0 -0
  56. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/contrib/media_server/apps.py +0 -0
  57. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/contrib/media_server/urls.py +0 -0
  58. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/contrib/media_server/views.py +0 -0
  59. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/__init__.py +0 -0
  60. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/admin_utils.py +0 -0
  61. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/cache.py +0 -0
  62. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/collations.py +0 -0
  63. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/fields.py +0 -0
  64. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/managers.py +0 -0
  65. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/test_utils.py +0 -0
  66. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/lib/validators.py +0 -0
  67. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning/py.typed +0 -0
  68. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning.egg-info/SOURCES.txt +0 -0
  69. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning.egg-info/dependency_links.txt +0 -0
  70. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning.egg-info/not-zip-safe +0 -0
  71. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning.egg-info/requires.txt +3 -3
  72. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_learning.egg-info/top_level.txt +0 -0
  73. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/__init__.py +0 -0
  74. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/__init__.py +0 -0
  75. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/__init__.py +0 -0
  76. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/admin.py +0 -0
  77. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/api.py +0 -0
  78. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/apps.py +0 -0
  79. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/data.py +0 -0
  80. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/__init__.py +0 -0
  81. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/actions.py +0 -0
  82. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/api.py +0 -0
  83. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/exceptions.py +0 -0
  84. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/import_plan.py +0 -0
  85. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/parsers.py +0 -0
  86. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/tasks.py +0 -0
  87. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/template.csv +0 -0
  88. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/import_export/template.json +0 -0
  89. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0001_initial.py +0 -0
  90. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0001_squashed.py +0 -0
  91. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0002_auto_20230718_2026.py +0 -0
  92. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0003_auto_20230721_1238.py +0 -0
  93. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0004_auto_20230723_2001.py +0 -0
  94. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0005_language_taxonomy.py +0 -0
  95. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0006_alter_objecttag_unique_together.py +0 -0
  96. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0006_auto_20230802_1631.py +0 -0
  97. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0007_tag_import_task_log_null_fix.py +0 -0
  98. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0008_taxonomy_description_not_null.py +0 -0
  99. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0009_alter_objecttag_object_id.py +0 -0
  100. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0010_cleanups.py +0 -0
  101. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0011_remove_required.py +0 -0
  102. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0012_language_taxonomy.py +0 -0
  103. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0013_tag_parent_blank.py +0 -0
  104. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0014_minor_fixes.py +0 -0
  105. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0015_taxonomy_export_id.py +0 -0
  106. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0016_object_tag_export_id.py +0 -0
  107. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0017_alter_tagimporttask_status.py +0 -0
  108. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/0018_objecttag_is_copied.py +0 -0
  109. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/migrations/__init__.py +0 -0
  110. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/models/__init__.py +0 -0
  111. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/models/base.py +0 -0
  112. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/models/import_export.py +0 -0
  113. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/models/system_defined.py +0 -0
  114. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/models/utils.py +0 -0
  115. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/__init__.py +0 -0
  116. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/paginators.py +0 -0
  117. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/urls.py +0 -0
  118. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/utils.py +0 -0
  119. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/__init__.py +0 -0
  120. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/permissions.py +0 -0
  121. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/urls.py +0 -0
  122. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rest_api/v1/views_import.py +0 -0
  123. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/rules.py +0 -0
  124. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/core/tagging/urls.py +0 -0
  125. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/openedx_tagging/py.typed +0 -0
  126. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/requirements/base.in +0 -0
  127. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/setup.cfg +0 -0
  128. {openedx_learning-0.18.0 → openedx_learning-0.18.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: openedx-learning
3
- Version: 0.18.0
3
+ Version: 0.18.2
4
4
  Summary: Open edX Learning Core and Tagging.
5
5
  Home-page: https://github.com/openedx/openedx-learning
6
6
  Author: David Ormsbee
@@ -19,11 +19,21 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Requires-Python: >=3.11
20
20
  License-File: LICENSE.txt
21
21
  Requires-Dist: attrs
22
- Requires-Dist: rules<4.0
23
- Requires-Dist: Django<5.0
24
- Requires-Dist: djangorestframework<4.0
25
22
  Requires-Dist: edx-drf-extensions
23
+ Requires-Dist: Django<5.0
24
+ Requires-Dist: rules<4.0
26
25
  Requires-Dist: celery
26
+ Requires-Dist: djangorestframework<4.0
27
+ Dynamic: author
28
+ Dynamic: author-email
29
+ Dynamic: classifier
30
+ Dynamic: description
31
+ Dynamic: home-page
32
+ Dynamic: keywords
33
+ Dynamic: license
34
+ Dynamic: requires-dist
35
+ Dynamic: requires-python
36
+ Dynamic: summary
27
37
 
28
38
  Open edX Learning Core (and Tagging)
29
39
  ====================================
@@ -2,4 +2,4 @@
2
2
  Open edX Learning ("Learning Core").
3
3
  """
4
4
 
5
- __version__ = "0.18.0"
5
+ __version__ = "0.18.2"
@@ -267,11 +267,7 @@ class Content(models.Model):
267
267
  # only in file form. It is an error for ``text`` to be None and ``has_file``
268
268
  # to be False, since that would mean we haven't stored data anywhere at all.
269
269
  #
270
- # We annotate this because mypy doesn't recognize that ``text`` should be
271
- # nullable when using MultiCollationTextField, but does the right thing for
272
- # TextField. For more info, see:
273
- # https://github.com/openedx/openedx-learning/issues/152
274
- text: models.TextField[str | None, str | None] = MultiCollationTextField(
270
+ text = MultiCollationTextField(
275
271
  blank=True,
276
272
  null=True,
277
273
  max_length=MAX_TEXT_LENGTH,
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: openedx-learning
3
- Version: 0.18.0
3
+ Version: 0.18.2
4
4
  Summary: Open edX Learning Core and Tagging.
5
5
  Home-page: https://github.com/openedx/openedx-learning
6
6
  Author: David Ormsbee
@@ -19,11 +19,21 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Requires-Python: >=3.11
20
20
  License-File: LICENSE.txt
21
21
  Requires-Dist: attrs
22
- Requires-Dist: rules<4.0
23
- Requires-Dist: Django<5.0
24
- Requires-Dist: djangorestframework<4.0
25
22
  Requires-Dist: edx-drf-extensions
23
+ Requires-Dist: Django<5.0
24
+ Requires-Dist: rules<4.0
26
25
  Requires-Dist: celery
26
+ Requires-Dist: djangorestframework<4.0
27
+ Dynamic: author
28
+ Dynamic: author-email
29
+ Dynamic: classifier
30
+ Dynamic: description
31
+ Dynamic: home-page
32
+ Dynamic: keywords
33
+ Dynamic: license
34
+ Dynamic: requires-dist
35
+ Dynamic: requires-python
36
+ Dynamic: summary
27
37
 
28
38
  Open edX Learning Core (and Tagging)
29
39
  ====================================
@@ -157,8 +157,7 @@ class ObjectTagSerializer(ObjectTagMinimalSerializer):
157
157
  class Meta:
158
158
  model = ObjectTag
159
159
  fields = ObjectTagMinimalSerializer.Meta.fields + [
160
- # The taxonomy name
161
- "name",
160
+ "export_id",
162
161
  "taxonomy_id",
163
162
  # If the Tag or Taxonomy has been deleted, this ObjectTag shouldn't be shown to users.
164
163
  "is_deleted",
@@ -450,6 +450,7 @@ class ObjectTagView(
450
450
  minimal_serializer_class = ObjectTagMinimalSerializer
451
451
  permission_classes = [ObjectTagObjectPermissions]
452
452
  lookup_field = "object_id"
453
+ lookup_value_regex = r'[\w\.\+\-@:]+'
453
454
 
454
455
  def get_queryset(self) -> models.QuerySet:
455
456
  """
@@ -619,6 +620,7 @@ class ObjectTagCountsView(
619
620
 
620
621
  serializer_class = ObjectTagSerializer
621
622
  lookup_field = "object_id_pattern"
623
+ lookup_value_regex = r'[\w\.\+\-@:*,]+'
622
624
 
623
625
  def retrieve(self, request, *args, **kwargs) -> Response:
624
626
  """
@@ -780,8 +782,8 @@ class TaxonomyTagsView(ListAPIView, RetrieveUpdateDestroyAPIView):
780
782
  The current taxonomy is cached in the view.
781
783
  """
782
784
  if not self._taxonomy:
783
- taxonomy_id = int(self.kwargs["pk"])
784
- taxonomy = get_taxonomy(taxonomy_id)
785
+ taxonomy_id = self.kwargs.get("pk")
786
+ taxonomy = get_taxonomy(int(taxonomy_id)) if taxonomy_id else None
785
787
  if not taxonomy:
786
788
  raise Http404("Taxonomy not found")
787
789
  self.check_object_permissions(self.request, taxonomy)
@@ -797,6 +799,9 @@ class TaxonomyTagsView(ListAPIView, RetrieveUpdateDestroyAPIView):
797
799
  context['request'] = self.request
798
800
  serializer = self.serializer_class(self, context=context)
799
801
 
802
+ if getattr(self, 'swagger_fake_view', False):
803
+ # queryset just for schema generation metadata
804
+ return context
800
805
  # Instead of checking permissions for each TagData instance, we just check them once for the whole taxonomy
801
806
  # (since that's currently how our rules work). This might change if Tag-specific permissions are needed.
802
807
  taxonomy = self.get_taxonomy()
@@ -812,6 +817,9 @@ class TaxonomyTagsView(ListAPIView, RetrieveUpdateDestroyAPIView):
812
817
  """
813
818
  Builds and returns the queryset to be paginated.
814
819
  """
820
+ if getattr(self, 'swagger_fake_view', False):
821
+ # queryset just for schema generation metadata
822
+ return Taxonomy.objects.none() # type: ignore[return-value]
815
823
  taxonomy = self.get_taxonomy()
816
824
  parent_tag_value = self.request.query_params.get("parent_tag", None)
817
825
  include_counts = "include_counts" in self.request.query_params
@@ -1,6 +1,6 @@
1
1
  attrs
2
- rules<4.0
3
- Django<5.0
4
- djangorestframework<4.0
5
2
  edx-drf-extensions
3
+ Django<5.0
4
+ rules<4.0
6
5
  celery
6
+ djangorestframework<4.0