不知道是不是太長時間沒打代碼,有些基本的東西都忘了,在這里記錄一下:
register_tortoise 的寫法:
register_tortoise(
app,
db_url='sqlite://user.db',
modules={'models': ['schema']},
generate_schemas=True,
add_exception_handlers=True
)
格式長這樣,之前有把db_url
寫錯和把modules
里面的models
的參數寫成字符串了(實際是個列表,里面存放放表的文件的路徑)。
tortoise-orm 里面大部分操作都是異步的,這意味着要在函數前面加個await
,這點也是經常忘;
xxx.from_tortoise_orm 等也是異步操作,前面也要加await
,否則會因為 response_model 不符合報 pydantic 字段不滿足的錯誤。