In def validate I'm gathering errors from multiple generic validation.
Before raise.ValidationError(errors), list "errors" looks like the following:
[ValidationError({'ra_reference_book': {'eic': 'Перевірте корректність коду EIC'}}), ValidationError({'ra_roles': [{'end_date_roles': 'Поле повинно мати значення', 'domain': '62Y-MGA-00900--F'}, {'end_date_roles': 'Поле повинно мати значення', 'domain': '62Y-MGA-02100--C'}]})]
or without nesting to "ValidationError" we have:
[{'ra_reference_book': {'eic': 'Перевірте корректність коду EIC'}}, {'ra_roles': [{'end_date_roles': 'Поле повинно мати значення', 'domain': '62Y-MGA-00900--F'}, {'end_date_roles': 'Поле повинно мати значення', 'domain': '62Y-MGA-02100--C'}]}]
However output does not seem to be satisfying in both cases:
if errors:
raise serializers.ValidationError({'details': errors})
{
"non_field_errors": "{'ra_reference_book': {'eic': ErrorDetail(string='Перевірте корректність коду EIC', code='invalid')}}\n{'ra_roles': [{'end_date_roles': ErrorDetail(string='Поле повинно мати значення', code='invalid'), 'domain': ErrorDetail(string='62Y-MGA-00900--F', code='invalid')}, {'end_date_roles': ErrorDetail(string='Поле повинно мати значення', code='invalid'), 'domain': ErrorDetail(string='62Y-MGA-02100--C', code='invalid')}]}"
}
or
{
"details": "{'ra_reference_book': {'eic': ErrorDetail(string='Перевірте корректність коду EIC', code='invalid')}}\n{'ra_roles': [{'end_date_roles': ErrorDetail(string='Поле повинно мати значення', code='invalid'), 'domain': ErrorDetail(string='62Y-MGA-00900--F', code='invalid')}, {'end_date_roles': ErrorDetail(string='Поле повинно мати значення', code='invalid'), 'domain': ErrorDetail(string='62Y-MGA-02100--C', code='invalid')}]}"
}
what should be fixed here to show "details"/"non_fields_error" in more readable way?