|
6 | 6 | from core.const.tag import OpenAPITag |
7 | 7 | from core.models import MarkdownField |
8 | 8 | from core.serializer.json_schema_serializer import JsonSchemaSerializer |
9 | | -from django.db.models.fields import TextField |
| 9 | +from django.db.models.fields import TextField, URLField |
10 | 10 | from django.db.models.fields.files import FileField |
11 | 11 | from django.db.models.fields.related import ForeignKey, ManyToManyField |
12 | 12 | from django.db.models.query import QuerySet |
@@ -43,7 +43,7 @@ def set_ui_schema(ui_schema: dict, field_name: str, data: dict) -> None: |
43 | 43 | ui_schema.setdefault(field_name, {}) |
44 | 44 | ui_schema[field_name].update(data) |
45 | 45 |
|
46 | | - def get_json_schema(self) -> dict: |
| 46 | + def get_json_schema(self) -> dict: # noqa: C901 |
47 | 47 | serializer_class = typing.cast(type[JsonSchemaSerializer], self.get_serializer_class()) |
48 | 48 |
|
49 | 49 | result = { |
@@ -87,6 +87,8 @@ def get_json_schema(self) -> dict: |
87 | 87 | self.set_ui_schema(result["ui_schema"], field.name, {"ui:field": "m2m_select"}) |
88 | 88 | elif isinstance(field, FileField): |
89 | 89 | self.set_ui_schema(result["ui_schema"], field.name, {"ui:field": "file"}) |
| 90 | + elif isinstance(field, URLField): |
| 91 | + self.set_ui_schema(result["ui_schema"], field.name, {"ui:hideError": True}) |
90 | 92 | elif isinstance(field, TranslationField): |
91 | 93 | result["translation_fields"].add(field.translated_field.name) |
92 | 94 | if isinstance(field.translated_field, MarkdownField): |
|
0 commit comments