Python 作用域会话对象没有属性';创建所有';
下面的代码使用Flask SQLAlchemy设置数据库。我得到一个异常“AttributeError:scoped_会话对象没有“create_all”属性”。有人能给我解释一下为什么我会出错,以及我如何修复它吗?:)Python 作用域会话对象没有属性';创建所有';,python,flask,sqlalchemy,flask-sqlalchemy,Python,Flask,Sqlalchemy,Flask Sqlalchemy,下面的代码使用Flask SQLAlchemy设置数据库。我得到一个异常“AttributeError:scoped_会话对象没有“create_all”属性”。有人能给我解释一下为什么我会出错,以及我如何修复它吗?:) \uuuu init\uuuuu.py: from flask import Flask app = Flask(__name__) from app.db import DB database = DB() database.create_all() from flas
\uuuu init\uuuuu.py
:
from flask import Flask
app = Flask(__name__)
from app.db import DB
database = DB()
database.create_all()
from flask import session
from flask.ext.sqlalchemy import SQLAlchemy
from app import app
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:pass@dburl:/schema'
connection = SQLAlchemy(app)
from app.db.models import *
class DB():
def __init__(self):
pass
def create_all(self):
connection.session.create_all()
connection.session.commit()
print("done")
from app.db import connection as db
class Test(db.Model):
__tablename__ = 'Test'
id = db.Column("ID", db.Integer, primary_key=True)
name = db.Column("Name", db.String(100), nullable=False)
def __init__(self, name):
self.name = name
def __repr__(self):
return '<Test: %s>' % self.name
db/\uuuu init\uuuu.py
:
from flask import Flask
app = Flask(__name__)
from app.db import DB
database = DB()
database.create_all()
from flask import session
from flask.ext.sqlalchemy import SQLAlchemy
from app import app
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:pass@dburl:/schema'
connection = SQLAlchemy(app)
from app.db.models import *
class DB():
def __init__(self):
pass
def create_all(self):
connection.session.create_all()
connection.session.commit()
print("done")
from app.db import connection as db
class Test(db.Model):
__tablename__ = 'Test'
id = db.Column("ID", db.Integer, primary_key=True)
name = db.Column("Name", db.String(100), nullable=False)
def __init__(self, name):
self.name = name
def __repr__(self):
return '<Test: %s>' % self.name
models.py
:
from flask import Flask
app = Flask(__name__)
from app.db import DB
database = DB()
database.create_all()
from flask import session
from flask.ext.sqlalchemy import SQLAlchemy
from app import app
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://user:pass@dburl:/schema'
connection = SQLAlchemy(app)
from app.db.models import *
class DB():
def __init__(self):
pass
def create_all(self):
connection.session.create_all()
connection.session.commit()
print("done")
from app.db import connection as db
class Test(db.Model):
__tablename__ = 'Test'
id = db.Column("ID", db.Integer, primary_key=True)
name = db.Column("Name", db.String(100), nullable=False)
def __init__(self, name):
self.name = name
def __repr__(self):
return '<Test: %s>' % self.name
从app.db导入连接为db
类别测试(db.Model):
__tablename_uu='Test'
id=db.Column(“id”,db.Integer,主键=True)
name=db.Column(“name”,db.String(100),null=False)
定义初始化(self,name):
self.name=名称
定义报告(自我):
返回“%self.name”
任何指导都将不胜感激 > P> >代码>连接> CREATEYAL()/<代码>,在中间添加了<代码>会话< /> >
与眼前的问题无关,还有一些事情看起来不对劲
- 运行
后,无需提交create\u all
- 扩展实例通常命名为
。db
类什么都不做,只需自己编写DB
函数即可create\u all
- 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
- 不要使用制表符,PEP 8建议使用4个空格
与眼前的问题无关,还有一些事情看起来不对劲
- 运行
后,无需提交create\u all
- 扩展实例通常命名为
。db
类什么都不做,只需自己编写DB
函数即可create\u all
- 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
- 不要使用制表符,PEP 8建议使用4个空格
与眼前的问题无关,还有一些事情看起来不对劲
- 运行
后,无需提交create\u all
- 扩展实例通常命名为
。db
类什么都不做,只需自己编写DB
函数即可create\u all
- 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
- 不要使用制表符,PEP 8建议使用4个空格
与眼前的问题无关,还有一些事情看起来不对劲
- 运行
后,无需提交create\u all
- 扩展实例通常命名为
。db
类什么都不做,只需自己编写DB
函数即可create\u all
- 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
- 不要使用制表符,PEP 8建议使用4个空格