Python flask create_all不创建导入的表

Python flask create_all不创建导入的表,python,sqlalchemy,flask,Python,Sqlalchemy,Flask,server.py和models.py两个模块位于同一目录中。我在运行create_之前导入了模型,但从未创建用户表。我还尝试过将导入模型更改为从模型导入用户,结果相同。请帮我了解这里发生了什么。 Server.py: from flask import Flask from fileserver.filebutler import butler from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.reg

server.py和models.py两个模块位于同一目录中。我在运行create_之前导入了模型,但从未创建用户表。我还尝试过将导入模型更改为从模型导入用户,结果相同。请帮我了解这里发生了什么。 Server.py:

from flask import Flask
from fileserver.filebutler import butler
from flask.ext.sqlalchemy import SQLAlchemy


app = Flask(__name__)
app.register_blueprint(butler)

app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://working_url'
db = SQLAlchemy(app)


def initialize_db():
    import models
    db.create_all()


if __name__ == '__main__':
    initialize_db()
    app.run(debug=True)
models.py:

from sqlalchemy import Column, Integer, String
from downloadr import db


class User(db.Model):
    __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)
尝试:

使用:


在我的例子中,它工作得很好,不过我没有使用函数初始化,在if子句中只有两行代码。

谢谢你的建议!我从每个建模对象中删除了tablename行,但这并没有解决我的问题。对于我仍在搜索的解决方案:。这不是删除我得到的表名,而是将“db.”添加到列并键入部分。还要检查-您在连接中指定的db用户有权创建表
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), unique=True)
email = db.Column(db.String(120), unique=True)
from models import *