SQLAlchemy create_all()不创建表

SQLAlchemy create_all()不创建表,第1张

SQLAlchemy create_all()不创建表

您应该在

create_all()
调用之前放置模型类,如下所示:

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATAbase_URI'] = 'postgresql+psycopg2://login:pass@localhost/flask_app'db = SQLAlchemy(app)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.usernamedb.create_all()db.session.commit()admin = User('admin', '[email protected]')guest = User('guest', '[email protected]')db.session.add(admin)db.session.add(guest)db.session.commit()users = User.query.all()print users

如果您的模型是在单独的模块中声明的,请在调用之前将其导入

create_all()

说,

User
模型在名为的文件中
models.py

from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATAbase_URI'] = 'postgresql+psycopg2://login:pass@localhost/flask_app'db = SQLAlchemy(app)# See important note belowfrom models import Userdb.create_all()db.session.commit()admin = User('admin', '[email protected]')guest = User('guest', '[email protected]')db.session.add(admin)db.session.add(guest)db.session.commit()users = User.query.all()print users

重要说明: 在初始化

db
对象之后导入模型很重要,因为在
models.py
_中,您还需要
db
从此模块导入对象。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5643612.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存