Value Conversion¶
Built-in type converters¶
bool, int, float, Decimal, UUID, date, time, datetime,
enum members (by name or value), and dict/list from JSON strings.
Custom converter registration¶
from pyrsql import ValueConverterRegistry
registry = ValueConverterRegistry({}).with_converter(str, lambda raw: raw.upper())
Field-scoped converters¶
from pyrsql import QueryOptions
options = QueryOptions(
field_value_converters={
"created_at": lambda raw: datetime.strptime(raw, "%d/%m/%Y"),
},
)
Model-scoped converters¶
options = QueryOptions(
model_field_value_converters={
User: {"status": lambda raw: Status[raw.upper()]},
},
)