Ubuntu 下 SQLAdmin 使用插件的实用指南
先确认你使用的 SQLAdmin 类型
SQLAdmin Python 版的插件式用法
安装与最小示例
# main.py
from fastapi import FastAPI
from sqladmin import Admin, ModelView
from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import declarative_base
Base = declarative_base()
engine = create_engine("sqlite:///example.db", connect_args={"check_same_thread": False})
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String)
Base.metadata.create_all(engine)
app = FastAPI()
admin = Admin(app, engine)
class UserAdmin(ModelView, model=User):
column_list = [User.id, User.name] # 列展示
# 可继续添加:form_columns、column_searchable_list、column_filters 等
admin.add_view(UserAdmin)
运行后访问 /admin 即可进入后台。上述“通过 ModelView 添加视图”的方式,就是 SQLAdmin 的“插件化/扩展点”。
常用扩展点(相当于“插件”能力)
class UserAdmin(ModelView, model=User):
column_list = [User.id, User.name]
can_create = True
can_edit = True
can_delete = True
form_columns = ["name"] # 只开放 name 编辑
column_searchable_list = [User.name]
column_filters = [User.name]
def on_model_change(self, form, model, is_created):
# 例如:自动规范化名称
model.name = (model.name or "").strip()
通过组合多个 ModelView 并在 admin 中注册,即可像“插件”一样为不同业务模块提供独立的管理界面与能力。
MySQL Administrator 或 phpMyAdmin 的情况
实践建议