Python错误NameError:name' __ tablename __'没有定义

时间:2017-06-01 14:35:20

标签: error-handling

我是Python的新手,我需要你的帮助。我有一台Mac并使用python 3.使用SublimeText这是我在运行我的代码时收到的==>我收到此错误:NameError: name '__tablename__' is not defined

提前谢谢!!!

我的整个代码是:

from flask_sqlalchemy import SQLAlchemy
    from sqlalchemy import create_engine
    engine = create_engine('sqlite:///:memory:', echo=True)


from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()



#creare de tabela

from sqlalchemy import Column, Integer, String
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)
    fullname = Column(String)
    program = Column(String)
    aka = Column(String)
    adresa = Column(String)
    city = Column(String)
    state = Column(String)
    country = Column(String)
    postalcode = Column(String)

def __repr__(self):
    return "<User(name='%s', fullname='%s', program='%s', aka='%s',adresa='%s',city='%s',country='%s',postalcode='%s',)>" %(
        self.name, self.fullname, self.program, self.aka, self.adresa, self.city, self.state, self.country,self.postalcode)

#creare de tabela
User.__tablename__
table('users', MetaData(bind=None),
    Column('id', Integer(),table=(users), primary_key=True, nullable=False),
    Column('name', String(), table=(users)),
    Column('fullname', String(), table=(users)),
    Column('program', String(), table=(users)),
    Column('aka', String(), table=(users)),
    Column('adresa', String(), table=(users)),
    Column('city', String(), table=(users)), 
    Column('state', String(), table=(user)),
    Column('country', String(), table=(users)),
    Column('postalcode', String(), table=(users), schema=None))

1 个答案:

答案 0 :(得分:0)

因为它是"private variable"

  

[...] __spam形式的任何标识符(至少两个前导下划线,最多一个尾随下划线)在文本上替换为_classname__spam,其中classname是当前具有前导的类名下划线。

在您的用例中,您可以使用User._user__tablename__

访问它

要避免此问题,请使用一个前导下划线标记varbaile,并删除两个尾随下划线。这是pep8

的建议
  

_single_leading_underscore:弱&#34;内部使用&#34;指示符。例如。来自M import *不会导入名称以下划线开头的对象。