今天在使用python sqlalchemy进行查询的时候出现报错:

从错误中看是尚未加载空间模型,可能忘记将Colume添加到init方法中。

但是,我检查了init函数之后发现,所有的Colume都在初始化方法中。事后论证,也不是所有的Colume需要在init方法中做初始化。

既然init方法没有问题,为什么还会报这个错了?我想了好久,后来看了篇文章无意中发现会不会是init方法根本就没调用到。当时对python的两种导包方式也是模糊不清,最先的model导入用

import app.model.Stock as Stock

发现这个问题后使用

from app.model.Stock import *

导入model,错误就消失了,证明就是这个模块导入语句导致的。

那两种模块导入有什么区别呢?

  • 如果使用import的话,就需要使用导入的module名称来引用模块的方法,成员变量了。
  • 如果使用from … import 就可以直接使用该模块中的方法 成员变量了。

results matching ""

    No results matching ""