Flask-SQLAlchemy多对多关系,增删改查

SQLAlchemy

SQLAlchemy 是 Python 中一个通过 ORM 操作数据库的框架。
使用类和对象的方式操作数据库,更加简便相比SQL语句。
ORM 就是 Object Relational Mapper 的简写,就是关系对象映射器的意思。

创建映射关系

以王者荣耀为例,需要构建用户,英雄之间的关系。一个用户可以拥有多个英雄,一个英雄也可以被多个用户拥有。那么就需要三个表:用户,英雄,用户_英雄

创建数据库操作对象

需要引入的库

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import or_, and_
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
# url的格式为:数据库的协议://用户名:密码@ip地址:端口号(默认可以不写)/数据库名
app.config["SQLALCHEMY_DATABASE_URI"] = "mysql+pymysql://root:123456@localhost/abcd"
# 动态追踪数据库的修改. 性能不好. 且未来版本中会移除. 目前只是为了解决控制台的提示才写的
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
# 创建数据库的操作对象
db = SQLAlchemy(app)

用户类

class User(db.Model):
	# 给表重新定义一个名称,默认名称是类名的小写,比如该类默认的表名是user。
	__tablename__ = "user"
	id = db.Column(db.Integer, primary_key=True)
	name = db.Column(db.String(16), unique=True)
	password = db.Column
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
使用flask-sqlalchemy进行增删改查操作非常方便。下面是一些示例代码来说明如何使用flask-sqlalchemy进行增删改查操作: 1. 增加数据: 使用模型类的构造函数创建一个新的对象,并将其添加到数据库会话中,然后使用会话的`add()`方法将其添加到数据库中。 示例代码如下: ``` from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() 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) user = User(username='John', email='john@example.com') db.session.add(user) db.session.commit() ``` 2. 删除数据: 使用模型类的`query`属性和`filter_by()`方法来筛选要删除的数据,并使用会话的`delete()`方法将其从数据库中删除。 示例代码如下: ``` user = User.query.filter_by(username='John').first() db.session.delete(user) db.session.commit() ``` 3. 修改数据: 使用模型类的`query`属性和`filter_by()`方法来筛选要修改的数据,并通过修改对象的属性来更新数据。 示例代码如下: ``` user = User.query.filter_by(username='John').first() user.email = 'new_email@example.com' db.session.commit() ``` 4. 查询数据: 使用模型类的`query`属性和各种查询方法来检索数据,例如`all()`方法获取所有数据,`filter_by()`方法根据条件筛选数据等。 示例代码如下: ``` users = User.query.all() # 获取所有用户数据 user = User.query.filter_by(username='John').first() # 根据用户名获取用户数据 ``` 这些是使用flask-sqlalchemy进行增删改查操作的基本示例。你可以根据需要进行调整和扩展来实现特定的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Huhiseven

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值