INNER CODE UNIT · Python
validate_import_row
smithyhq/sqladmin · sqladmin/_import.py:102
def validate_import_row(
row: MultiDict,
import_columns: list[str],
model: Any,
form_class: type[Form],
denormalize_wtform_data: Callable[[dict, Any], dict],
) -> tuple[dict[str, Any], dict[str, list[str]], dict[str, Any]]:
"""Coerce CSV values, then run WTForms validation on coerced form input."""
row_data = {col: row.get(col) for col in import_columns}
fallback_form = form_class(row)
fallback_data = denormalize_wtform_data(fallback_form.data, model)
merged_import_data, row_errors = merge_import_row_data(
model,
import_columns,
row_data,
fallback_data,