相关疑难解决方法(0)

SQLAlchemy create_all()不创建表

我正在尝试集成PostgreSQL和SQLAlchemy,但SQLAlchemy.create_all()不是从我的模型创建任何表.

我的代码:

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql+psycopg2://login:pass@localhost/flask_app'
db = SQLAlchemy(app)
db.create_all()
db.session.commit()

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True)
    email = db.Column(db.String(120), unique=True)

    def __init__(self, username, email):
        self.username = username
        self.email = email

    def __repr__(self):
        return '<User %r>' % self.username

admin = User('admin', 'admin@example.com')
guest = User('guest', 'guest@example.com')
db.session.add(admin)
db.session.add(guest)
db.session.commit()
users = User.query.all()
print users        
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误: sqlalchemy.exc.ProgrammingError: (ProgrammingError) relation "user" does not exist

我怎样才能解决这个问题?

python postgresql sqlalchemy

40
推荐指数
1
解决办法
6万
查看次数

Flask SQLAlchemy db.create_all()不创建数据库

我似乎无法弄清楚为什么我对db.create_all()的调用不起作用.

我有一个包含以下init的应用包:

from flask import Flask
from config import config
from flask.ext.sqlalchemy import SQLAlchemy

# create the database object
db = SQLAlchemy()

# this function is the application factory
def create_app(environment):
    app = Flask(__name__)
    app.config.from_object(config[environment])

    db.init_app(app)

    from bp_root import bp_root
    from bp_aws import bp_aws

    app.register_blueprint(bp_root, url_prefix='/')
    app.register_blueprint(bp_aws, url_prefix='/aws')

    return app
Run Code Online (Sandbox Code Playgroud)

然后我在app包里面有models.py:

from datetime import datetime
from . import db

class MyTestClass(db.Model):
    __tablename__ = 'mytesttable'
    id = db.Column(db.Integer, primary_key=True)
    email = db.Column(db.String(64), nullable=False, unique=True, index=True)
    username = db.Column(db.String(64), nullable=False, unique=True, index=True) …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy

5
推荐指数
1
解决办法
8298
查看次数

标签 统计

python ×2

sqlalchemy ×2

flask ×1

flask-sqlalchemy ×1

postgresql ×1