amisadmin / fastapi-amis-admin

FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by django-admin, and has as many powerful functions as django-admin.

Home Page:http://docs.amis.work

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请教:fastapi-sqlmodel-crud 怎么使用?

zinohome opened this issue · comments

class Article(SQLModel, table=True):
id: int = Field(default=None, primary_key=True, nullable=False)
title: str = Field(title='ArticleTitle', max_length=200)
description: Optional[str] = Field(default='', title='ArticleDescription', max_length=400)
status: bool = Field(None, title='status')
content: str = Field(title='ArticleContent')

article_crud = SQLModelCrud(model=Article, engine=engine).register_crud()

我想用的model的主键字段不是id,需要制定pk_name,请问SQLModelCrud的构造方法应该怎么写?

我的代码:

brandscrud = SQLModelCrud(model=Brands, engine=apiengine.async_connect()).register_crud()

报错:
File "./apps/admin/dataapis.py", line 18, in
brandscrud = SQLModelCrud(model=Brands, engine=apiengine.async_connect()).register_crud()
TypeError: init() got an unexpected keyword argument 'engine'

修改代码:
brandscrud = SQLModelCrud(Brands, apiengine.async_connect()).register_crud()

报错:
File "/backend/venv/lib/python3.8/site-packages/fastapi_sqlmodel_crud/_sqlmodel.py", line 63, in init
self.pk: InstrumentedAttribute = self.model.dict[self.pk_name]
KeyError: 'id'