X-Admin
Simplest fastest minimal ASGI CRUD Admin panel for Tortoise ORM models
It's generating fully native async auto zero config one line app
Requirements
INSTALL
pip install x-admin
Run your app
- Describe your db models with Tortoise ORM in
models.py
module
from tortoise import fields
from tortoise_api import Model
class User(Model):
id: int = fields.IntField(pk=True)
name: str = fields.CharField(255, unique=True, null=False)
posts: fields.ReverseRelation["Post"]
class Post(Model):
id: int = fields.IntField(pk=True)
text: str = fields.CharField(4095)
user: User = fields.ForeignKeyField('models.User', related_name='posts')
_name = 'text'
- Write run script
main.py
: pass your models module in Api app:
from x_admin import Admin
import models
app = Admin().start(models)
- Set
DB_URL
env variable in .env
file - Run it:
uvicorn main:app
Or you can just fork Completed minimal runnable example from sample apps.
And voila:
You have menu with all your models at root app route: http://127.0.0.1:8000
Made with ❤ on top of the Starlette, TortoiseORM, X-API.