Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 作用域会话对象没有属性';创建所有';_Python_Flask_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Python 作用域会话对象没有属性';创建所有';

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

下面的代码使用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 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个空格

它是代码>连接.CREATEYAL()/<代码>,在中间添加了<代码>会话< /> >


与眼前的问题无关,还有一些事情看起来不对劲

  • 运行
    create\u all
    后,无需提交
  • 扩展实例通常命名为
    db
    DB
    类什么都不做,只需自己编写
    create\u all
    函数即可
  • 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
  • 不要使用制表符,PEP 8建议使用4个空格

它是代码>连接.CREATEYAL()/<代码>,在中间添加了<代码>会话< /> >


与眼前的问题无关,还有一些事情看起来不对劲

  • 运行
    create\u all
    后,无需提交
  • 扩展实例通常命名为
    db
    DB
    类什么都不做,只需自己编写
    create\u all
    函数即可
  • 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
  • 不要使用制表符,PEP 8建议使用4个空格

它是代码>连接.CREATEYAL()/<代码>,在中间添加了<代码>会话< /> >


与眼前的问题无关,还有一些事情看起来不对劲

  • 运行
    create\u all
    后,无需提交
  • 扩展实例通常命名为
    db
    DB
    类什么都不做,只需自己编写
    create\u all
    函数即可
  • 在大多数情况下,您不需要为Flask SQLAlchemy模型指定表名或列名,并且通常不使用大写名称
  • 不要使用制表符,PEP 8建议使用4个空格