Skip to content

Commit e85680a

Browse files
wanderer056Sumanta Paudel
andauthored
fix(beanie): serialization error when id excluded in list (#678)
This commit fixes JSON serialization error when 'id' is excluded from list view in beanie backend. Co-authored-by: Sumanta Paudel <[email protected]>
1 parent c9a7b33 commit e85680a

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

starlette_admin/contrib/beanie/view.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,9 @@ async def get_pk_value(self, request: Request, obj: Any) -> Any:
232232

233233
return getattr(obj, not_none(self.pk_attr))
234234

235+
async def get_serialized_pk_value(self, request: Request, obj: Any) -> Any:
236+
return str(await self.get_pk_value(request, obj))
237+
235238
async def create(self, request: Request, data: dict) -> T:
236239
data = {
237240
k: v

tests/beanie/test_view.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,11 @@ class ProductView(ModelView):
9191
exclude_fields_from_create = [Product.created_at]
9292
exclude_fields_from_edit = ["created_at"]
9393

94+
class StoreView(ModelView):
95+
exclude_fields_from_list = ["id"]
96+
9497
admin = Admin()
95-
admin.add_view(ModelView(Store))
98+
admin.add_view(StoreView(Store))
9699
admin.add_view(ProductView(Product))
97100
admin.add_view(ModelView(User))
98101
admin.add_view(ProductDescriptionTestView(ProductDescriptionTest))

0 commit comments

Comments
 (0)