需要帮助。我在我的项目中连接 starlette-admin 。但是,如果我尝试编辑主键列,我在管理视图中看不到该字段。
from starlette.applications import Starlette
from starlette_admin.contrib.sqla import Admin, ModelView
from database import Base
from database import engine
# импортируем модели
from models import ClientsTable, TelegramClientTable, TeletonBotsTable
from models import CustomersTable, ChatGptConfigTable, ChatGptRequestsTable
from models import ChatGptResponceTable
class TeletoneBotsTableView(ModelView):
fields = ["id", "customer", "created_at"]
Base.metadata.create_all(engine)
# Создаем приложение FastAPI()
app = Starlette()
admin = Admin(engine, title="BotSeller")
admin.add_view(ModelView(ClientsTable))
admin.add_view(ModelView(TelegramClientTable))
admin.add_view(TeletoneBotsTableView(TeletonBotsTable))
admin.add_view(ModelView(CustomersTable))
admin.add_view(ModelView(ChatGptConfigTable))
admin.add_view(ModelView(ChatGptRequestsTable))
admin.add_view(ModelView(ChatGptResponceTable))
admin.mount_to(app)
我尝试更改 ModelView 配置,但不起作用。
您需要将
form_include_pk
参数设置为 True。
示例:
class TeletoneBotsTableView(ModelView):
fields = ["id", "customer", "created_at"]
form_include_pk = True
有关更多详细信息,请查看此示例 -> https://github.com/jowilf/starlette-admin/blob/8070ae0b46071b75e88bbde6605ecfc6cfef9fd7/examples/sqla/views.py#L61