为什么flask使用sqlalchemy的db.create_all()建立数据库显示为空表呀,救救孩子

Crayonccc 2021-02-24 12:19:00
from flask import Flask
from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:mysql@127.0.0.1/flask_books'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

db: SQLAlchemy = SQLAlchemy(app)


class Author(db.Model):
__tablename__ = 'authors'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(16), unique=True)

books = db.relationship('Book', backref='author')

def __repr__(self):
return 'Author:%s' % self.name


class Book(db.Model):
__tablename__ = 'books'

id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(16), unique=True)
author_id = db.Column(db.Integer, db.ForeignKey('authors.id'))

def __repr__(self):
return 'Book: %s %s' % (self.name, self.author_id)


@app.route('/')
def hello_world():
return 'Hello World!'


if __name__ == '__main__':
# 为了演示方便,先删除所有表,再创建
db.drop_all()
db.create_all()

# 添加测试数据库
# 生成数据
au1 = Author(name='老王')
au2 = Author(name='老尹')
au3 = Author(name='老刘')
# 把数据提交给用户会话
db.session.add_all([au1, au2, au3])
# 提交会话
db.session.commit()

bk1 = Book(name='老王回忆录', author_id=au1.id)
bk2 = Book(name='我读书少,你别骗我', author_id=au1.id)
bk3 = Book(name='如何才能让自己更骚', author_id=au2.id)
bk4 = Book(name='怎样征服美丽少女', author_id=au3.id)
bk5 = Book(name='如何征服英俊少男', author_id=au3.id)
# 把数据提交给用户会话
db.session.add_all([bk1, bk2, bk3, bk4, bk5])
# 提交会话
db.session.commit()

app.run(debug=True)
...全文
793 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lnight& 2022-09-28
  • 打赏
  • 举报
回复

。。请问,解决了吗,我也遇到一样的问题,麻了

qq_52175974 2022-03-11
  • 打赏
  • 举报
回复

谢谢题主,我也遇到了一样的问题蹲一下解决办法

ZAHNGD 2021-11-02
  • 打赏
  • 举报
回复

裂开了 两天了没解决

有所为 2021-12-02
  • 举报
回复
@ZAHNGD 怎么解决的?
Liusgogogo 2021-04-20
  • 打赏
  • 举报
回复
我也是遇到一样的问题。。不知道楼主解决没有。。。
Crayonccc 2021-02-24
  • 打赏
  • 举报
回复
真的快裂开了

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧