Source code for core.orm.mixins.names
from __future__ import annotations
from sqlalchemy.orm import validates
[docs]
class StripWhitespaceMixin:
""" Mixin that strips leading/trailing whitespace from first_name and
last_name on assignment. Subclasses may override strip_names with a
broader @validates to cover additional fields (e.g. function). """
@validates('first_name', 'last_name')
[docs]
def strip_names(self, key: str, value: str | None) -> str | None:
return value.strip() if value is not None else value