@@ -150,13 +150,14 @@ async def inline_edit_form(
150150 from sqlalchemy import select
151151 from sqlalchemy .orm import selectinload
152152
153+ from fastapi_admin_kit .inspection import cast_pk_value
153154 mapper = sa_inspect (registered .model )
154155 options = [
155156 selectinload (getattr (registered .model , r .key ))
156157 for r in mapper .relationships
157158 ]
158159 stmt = select (registered .model ).options (* options ).where (
159- getattr (registered .model , registered .pk_field ) == int ( id )
160+ getattr (registered .model , registered .pk_field ) == cast_pk_value ( registered . model , id )
160161 )
161162 result = await session .execute (stmt )
162163 obj = result .scalar_one_or_none ()
@@ -209,13 +210,14 @@ async def inline_edit_save(
209210 from sqlalchemy import select
210211 from sqlalchemy .orm import selectinload
211212
213+ from fastapi_admin_kit .inspection import cast_pk_value
212214 mapper = sa_inspect (registered .model )
213215 options = [
214216 selectinload (getattr (registered .model , r .key ))
215217 for r in mapper .relationships
216218 ]
217219 stmt = select (registered .model ).options (* options ).where (
218- getattr (registered .model , registered .pk_field ) == int ( id )
220+ getattr (registered .model , registered .pk_field ) == cast_pk_value ( registered . model , id )
219221 )
220222 result = await session .execute (stmt )
221223 obj = result .scalar_one_or_none ()
@@ -377,7 +379,8 @@ async def execute_row_action(
377379 if not action_obj :
378380 raise HTTPException (status_code = 404 , detail = f"Unknown action: { action_name } " )
379381
380- obj = await session .get (registered .model , int (id ))
382+ from fastapi_admin_kit .inspection import cast_pk_value
383+ obj = await session .get (registered .model , cast_pk_value (registered .model , id ))
381384 if not obj :
382385 raise HTTPException (status_code = 404 , detail = "Not found" )
383386
@@ -484,7 +487,8 @@ async def update_field(
484487
485488 session = get_db_session (request )
486489 try :
487- obj = await session .get (registered .model , int (id ))
490+ from fastapi_admin_kit .inspection import cast_pk_value
491+ obj = await session .get (registered .model , cast_pk_value (registered .model , id ))
488492 if obj is None :
489493 raise HTTPException (status_code = 404 , detail = "Object not found" )
490494
0 commit comments