Python 在SQLAchemy中创建表
以下代码用于创建名为users的新表:Python 在SQLAchemy中创建表,python,sqlalchemy,flask-sqlalchemy,Python,Sqlalchemy,Flask Sqlalchemy,以下代码用于创建名为users的新表: engine = create_engine('mysql+pymysql://root:@localhost/sqlalchemy_tutorial', convert_unicode=True,echo=True) db_session = scoped_session(sessionmaker(autocommit=False, autoflush=False,
engine = create_engine('mysql+pymysql://root:@localhost/sqlalchemy_tutorial', convert_unicode=True,echo=True)
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()
Base = declarative_base()
from sqlalchemy import Column, Integer, String
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)
def __init__(self, name=None, email=None):
self.name = name
self.email = email
def __repr__(self):
return '<User %r>' % (self.name)
Base.metadata.create_all(bind=engine)
init.py
__author__ = 'Ricardo'
from models import User;
User.py
__author__ = 'Ricardo'
from sqlalchemy import Column, Integer, String
from application import Base
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)
def __init__(self, name=None, email=None):
self.name = name
self.email = email
def __repr__(self):
return '<User %r>' % (self.name)
您有一个循环导入:
\uuuu init\uuuu.py:2
→ User.py:3
(应该是models.py
,不是吗?)→ <代码>应用程序.py:4→ <代码>模型.py。您应该导入模型类。尝试从模型中导入。用户在application.py中导入用户
,您有一个循环导入:\uuuuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu→ User.py:3
(应该是models.py
,不是吗?)→ <代码>应用程序.py:4
→ <代码>模型.py
。您应该导入模型类。从模型中尝试。用户在application.py中导入用户
__author__ = 'Ricardo'
from sqlalchemy import Column, Integer, String
from application import Base
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String(50), unique=True)
email = Column(String(120), unique=True)
def __init__(self, name=None, email=None):
self.name = name
self.email = email
def __repr__(self):
return '<User %r>' % (self.name)
Base = declarative_base()
Base.query = db_session.query_property()
Base = declarative_base()
import models
#import models.User
#what else?
Base.metadata.create_all(bind=engine)