0
兩個模塊server.py和models.py位於同一個目錄中。我在運行create_all之前導入模型,但從不創建用戶表。我也嘗試將import models
更改爲from models import User
,結果相同。請幫我理解這裏發生了什麼。 Server.py:flask create_all不創建導入表
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)
謝謝你的建議!我從每個建模對象中刪除__tablename__行,這並沒有解決我的問題。對於我仍然搜索的解決方案:)。 – user819835
這並不是刪除我得到的表名,而是添加了'db'。到列和類型部分。 –
也要檢查 - 您在連接中指定的db用戶有權CREATE TABLE –