diff --git a/unwind/db.py b/unwind/db.py index 99839cb..e322238 100644 --- a/unwind/db.py +++ b/unwind/db.py @@ -225,6 +225,10 @@ async def get_all(model: Type[ModelType], **kwds) -> Iterable[ModelType]: async def update(item): + # Support late initializing - used for optimization. + if getattr(item, "_is_lazy", False): + item._lazy_init() + values = asplain(item) keys = ", ".join(f"{k}=:{k}" for k in values if k != "id") query = f"UPDATE {item._table} SET {keys} WHERE id=:id"