如何 - 获得错误
Traceback (most recent call last):
File "stx_sql.py", line 19, in<module>
Column('value', Float),
NameError: name 'Float' is not defined
运行代码
from sqlalchemy import create_engine
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
engine = create_engine('sqlite:///tttx.sqlite', echo=True)
#engine = create_engine('sqlite:///:memory:', echo=True)
metadata = MetaData()
users_table = Table('users', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50), nullable=False),
Column('fullname', String(50), nullable=False),
Column('password', String(70), nullable=False)
)
points_table = Table('points', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50), unique=True, nullable=False),
Column('description', String(150)),
Column('type', Integer),
Column('value', Float),
Column('refreshtime', Float),
Column('lastupdate', Float)
)
types_table = Table('types', metadata,
Column('id', Integer, primary_key=True),
Column('name', String(50), unique=True, nullable=False),
Column('description', String(150))
)
metadata.create_all(engine)
然后我使用Python 2.7.5(默认,2013年5月15日,22:43:36)[MSC v.1500 32位(英特尔)]获胜 32和sqlalchemy 0.8.2 然后我使用Python 2.7.4(默认,2013年9月26日,03:20:56) linux2和sqlalchemy 0.7.9上的[GCC 4.7.3]
P.S。还
NameError:未定义名称“数字”
答案 0 :(得分:11)
您需要导入该对象,而您的代码中尚未导入该对象。
只需将Float
添加到现有的from sqlalchemy import
行:
from sqlalchemy import Table, Column, Float, Integer, String, MetaData, ForeignKey
同样适用于Numeric
;你需要显式导入它,它不是内置的Python。