diff --git a/fastapi_amis_admin/crud/_sqlalchemy.py b/fastapi_amis_admin/crud/_sqlalchemy.py index 55278a1..102e63f 100644 --- a/fastapi_amis_admin/crud/_sqlalchemy.py +++ b/fastapi_amis_admin/crud/_sqlalchemy.py @@ -460,7 +460,11 @@ async def on_update_pre( **kwargs, ) -> Dict[str, Any]: data = obj.dict(exclude=self.update_exclude, exclude_unset=True, by_alias=True) - data = {key: val for key, val in data.items() if val is not None or field_allow_none(model_fields(self.model)[key])} + data = { + key: val + for key, val in data.items() + if val is not None or field_allow_none(self.parser.get_table_model_fields(self.model)[key]) + } return data async def on_filter_pre(self, request: Request, obj: Optional[SchemaFilterT], **kwargs) -> Dict[str, Any]: