2016-01-27 34 views
1

完整的错误是:在__再版__SQLAlchemy的错误elements.py - ColumnClause也不比较器具有 '描述'

在在SQLAlchemy的\ SQL \ elements.py线544

AttributeError: Neither 'ColumnClause' object nor 'Comparator' object 
has an attribute 'description' 

发生的历史第735行在sqlalchemy \ sql \ elements.py中__ getattr__

我最初发现这个问题,因为我的烧瓶模板遍历orm object.__ dict__将数据输出到表中,但没有显示特定的行。

在挖掘到python控制台并导入模块后,我通过尝试打印对象的属性来产生此错误。

from app.models import Parcel 
o = Parcel.query.get(1) 
o.parcelid #string field prints the correct value, no problem 
o.yrbuilt #integer field, same, no problem 
o.streetnum #string field, throws above error 

我的模型(DB变量是SQLAlchemy(app)):

class Parcel(db.Model): 
    """ 
    the county parcel data 
    """ 
    __tablename__ = 'parcel' 
    __table_args__ = {'schema':'gisdata'} 
    ogc_fid = db.Column(db.Integer, primary_key=True, 
     info={'widget': HiddenInput()} 
    ) 
    parcelid = db.Column(db.String(15)) 
    unit_no = db.Column(db.String(20)) 
    streetnum = db.column(db.String(100)) 
    streetname = db.Column(db.String(255)) 
    city = db.Column(db.String(100)) 
    mailaddr = db.Column(db.String(255)) 
    mailcity = db.Column(db.String(100)) 
    mailstate = db.Column(db.String(5)) 
    mailzip = db.Column(db.String(20)) 
    gp_plat = db.Column(db.String(255)) 
    district = db.Column(db.String(255)) 
    emv_bldg = db.Column(db.Integer()) 
    yrbuilt = db.Column(db.Integer()) 

任何线索我在做什么错在这里?

回答

3

Column应该大写,如:

streetnum = db.Column(db.String(100))

:)

+0

天啊,当然它必须是明显的东西。尽管如此,谢谢你的回答! – roemhildtg

+0

我很惊讶蟒蛇没有抱怨'db.column'不是一个函数或者至少是某种错误。 – roemhildtg

+1

Flask-SQLAlchemy'SQLAlchemy'类实际上*不具有'column'属性,因此这个神秘的错误。这是SQLAlchemy API的一部分,记录在这里: http://docs.sqlalchemy.org/en/latest/core/sqlelement.html#sqlalchemy.sql.expression.column –