from marshmallow import post_dump, pre_load class SanitizeEmptyStringsMixin: """Mixin to add sanitization functionality.""" @pre_load def sanitize_empty_strings(self, data, **kwargs): return {key: (value if value != '' else None) for key, value in data.items()} class SanitizeSpacesMixin: """Mixin to add spaces sanitization functionality.""" @post_dump @pre_load def sanitise_spaces(self, data, **kwargs): for field, value in data.items(): if isinstance(value, str): data[field] = value.strip() if isinstance(value, list): for item in value: if 'value' in item and isinstance(item['value'], str): item['value'] = item['value'].strip() return data