diff --git a/django_forms_as_jsonschema/forms.py b/django_forms_as_jsonschema/forms.py index c79cdc1a489f66d5ef50d5e55443eac83239f826..207a662457e4df490f8c9bd5a603f975abe3f331 100644 --- a/django_forms_as_jsonschema/forms.py +++ b/django_forms_as_jsonschema/forms.py @@ -4,8 +4,13 @@ from .jsonschema import JSONSchema class JSONSchemaFormMixin: + layout = None + def as_jsonschema(self: Form) -> dict: schema = JSONSchema() - for name, field in self.fields.items(): - schema.add_field(name, field) + if self.layout is None: + for name, field in self.fields.items(): + schema.add_field(name, field) + else: + schema.update_properties(self.layout.build_schema(schema, self.fields)["properties"]) return schema.schema