diff --git a/src/servala/core/crd.py b/src/servala/core/crd.py index f6b28b9..f9fbd32 100644 --- a/src/servala/core/crd.py +++ b/src/servala/core/crd.py @@ -49,7 +49,7 @@ def generate_django_model(schema, group, version, kind): # resourceRef object spec = schema["properties"].get("spec") or {} spec["properties"].pop("resourceRef", None) - model_fields.update(build_object_fields(spec, "spec", parent_required=True)) + model_fields.update(build_object_fields(spec, "spec", parent_required=False)) # Store the original schema on the model class model_fields["SCHEMA"] = schema @@ -69,7 +69,7 @@ def build_object_fields(schema, name, verbose_name_prefix=None, parent_required= fields = {} for field_name, field_schema in properties.items(): - is_required = field_name in required_fields and parent_required + is_required = field_name in required_fields or parent_required full_name = f"{name}.{field_name}" result = get_django_field( field_schema,