当我们需要创建多张表,多个模型时,代码量过多就不能放在主文件中。为了让代码条理清晰,我们需要把模型类单独放在一个models.py文件中.我们需要从主文件中导入db

在主文件中创建数据库对象db,在下面需要对模型对象进行操作,所以需要从models文件中导入模型对象

双方需要互相导入数据,这样就会造成循环引用,报错。
解决方案
引入第三方exts.py。将数据库对象的创建放在exts.py中

models.py引用exts.py中的db

然后主文件app.py也引用models.py中的db对象,同时引用models.py中的模型对象。

数据库对象的初始化需要传入app对象,flask中专门可以先在后期调用init_app方法,在app.py可以初始化
网友评论