Releases: arnabJ/starlette-admin-beanie-backend
v0.1.1
What's Changed
0.1.1 (2026-01-04)
Updated
- pydantic Field description is now used as help_text if no help_text is manually set for any field (Optional, enabled by default)
- Added auto_help_text boolean field to ModelView to enable/disable the above feature
Compatibility
- Tested with
- starlette-admin (0.15.1 & 0.16.0)
- Beanie-ODM (2.0.0 & 2.0.1)
- FastAPI (0.128.0)
v0.1.0
v0.0.3beta3
What's Changed
- Field types List[Link[ModelName]] (OnetoMany relations) are now properly decoded as HasMany (Field) and rendered in Select2 with MultiSelect capability instead of being decoded as a ListField.
- OneToOne and OneToMany fields are properly saved to DB without the need to explicitly wrap the fields in HasOne or HasMany in user's custom ModelView.
- Add a small fix where in certain scenarios, the id filed may give the error ValueError: Can't find attribute with key id (fix provided by @hrz6976). GitHub Issue.
v0.0.2beta2
What's Changed
Full Changelog: v0.0.2beta1...v0.0.2beta2
v0.0.2beta1
What's Changed
Full Changelog: v0.0.1beta3...v0.0.2beta1
v0.0.1beta3
What's Changed
0.0.1beta3 (2025-06-26)
Added
- Fixed
__admin_select2_repr__not working - Fixed List page taking a lot of time for a huge dataset even when the limit is set to very low.
- Updated CHANGELOG.md
Todo
- Create a proper README/Documentation
Compatibility
- Tested with
- starlette-admin (0.15.1)
- Beanie-ODM (1.30.0)
- FastAPI (0.115.13)
Full Changelog: v0.0.1beta2...v0.0.1beta3
v0.0.1beta2
What's Changed
Full Changelog: v0.0.1beta1...v0.0.1beta2
v0.0.1beta1
🚀 Initial Beta Release
This release introduces support for:
-
starlette-admin >= 0.15.0 -
beanie == 1.29.0 -
Core CRUD functionality:
- Create
- List
- Detail
- Edit
- Delete
-
Advanced capabilities:
- Filtering
- Ordering / Sorting
- Full-text Searching
I've thoroughly tested this integration across several personal projects, and it's performing well. That said, to ensure robustness and broader compatibility, I'm releasing it as a beta and would greatly appreciate additional testing and feedback from the community.
⚠️ Known Issues
-
List[Link[SomeModel]]Fields
These are not automatically recognized asHasManyfields in the admin interface. To make them functional, you must explicitly define them in a customModelView. -
Using
Indexed()on Link Fields
DefiningLinkfields withIndexed()causes issues in form rendering. As a workaround, define indexes in theSettingsclass using theindexeslist instead.✅ Recommended pattern:
class Post(BaseDocument): title: str = Field(..., description="Title of the post") slug: Indexed(str, unique=True) = Field(..., description="Unique slug for the post") excerpt: Optional[str] = Field(None, description="Short summary of the post") content: str = Field(..., description="Block-based format content, HTML or JSON") categories: List[Link[Category]] = Field(..., description="List of categories", min_length=1) created_by: Link[SystemUser] = Field(..., description="User who created the post") class Settings: name = "posts" indexes = [ [("title", TEXT)], "categories", "created_by", ]
Feedback and contributions are welcome. Try it out and let me know how it performs in your projects!