def _parse_field_rows(form): field_names = form.getlist("field_name[]") field_types = form.getlist("field_type[]") field_relations = form.getlist("field_relation[]") field_required = form.getlist("field_required[]") field_min = form.getlist("field_min[]") field_max = form.getlist("field_max[]") fields = [] for i, fname in enumerate(field_names): if not fname.strip(): continue fields.append({ "name": fname.strip(), "type": field_types[i], "relation_definition_id": field_relations[i] if i < len(field_relations) else None, "required": field_required[i] == "1" if i < len(field_required) else False, "min_value": (field_min[i].strip() or None) if i < len(field_min) else None, "max_value": (field_max[i].strip() or None) if i < len(field_max) else None, }) return fields