当前位置: 首页 > news >正文

上海建站 seo做app软件大概多少钱

上海建站 seo,做app软件大概多少钱,青岛微网站建设,蠡县网站建设介绍 Flask-SQLAlchemy是一个用于Flask的扩展,它提供了一个便捷的方式来处理数据库操作。Flask-SQLAlchemy基于SQLAlchemy,一个功能强大的Python SQL工具包和对象关系映射(ORM)系统 官网文档:http://www.pythondoc.com/flask-sql…

介绍

Flask-SQLAlchemy是一个用于Flask的扩展,它提供了一个便捷的方式来处理数据库操作。Flask-SQLAlchemy基于SQLAlchemy,一个功能强大的Python SQL工具包和对象关系映射(ORM)系统
官网文档:http://www.pythondoc.com/flask-sqlalchemy/

一.安装

pip install flask-sqlalchemy

二.flask-sqlalchemy基本使用

from flask import Flask  
from flask_sqlalchemy import SQLAlchemy  app = Flask(__name__)  
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'  # 替换为你的数据库URI  
db = SQLAlchemy(app)
from flask_sqlalchemy import SQLAlchemy  class User(db.Model):  id = db.Column(db.Integer, primary_key=True)  username = db.Column(db.String(80), unique=True, nullable=False)  email = db.Column(db.String(120), unique=True, nullable=False)  password = db.Column(db.String(120), nullable=False)
if __name__ == '__main__':  db.create_all()users = db.session.query(User).filter_by(username='John').all()  for user in users:  print(user.email)# 创建新用户对象  new_user = User(username='John', email='john@example.com', password='password')  db.session.add(new_user)  db.session.commit()  # 提交更改到数据库  # 查询用户对象  john = User.query.filter_by(username='John').first()  print(john.email)

三.flask-sqlalchemy常用方法

db.create_all():创建数据库表。db.session.query(Model):创建查询对象,用于执行数据库查询。db.session.add(instance):将实例添加到数据库会话中。db.session.commit():提交更改到数据库。db.session.delete(instance):删除实例并提交更改。db.session.merge(instance):将实例合并到数据库会话中并提交更改。db.session.flush():执行数据库的flush操作,将所有的操作写入数据库。db.session.expunge(instance):从会话中驱逐实例。db.session.refresh(instance):刷新实例的属性,从数据库中获取最新数据。db.session.get_by(key, value):根据给定的键和值获取实例。db.session.filter_by(key=value):根据给定的键和值过滤会话中的实例。db.session.first():返回查询结果中的第一个实例。db.session.first_or_404():返回查询结果中的第一个实例,如果未找到则返回404错误。db.session.all():返回查询结果中的所有实例。db.session.count():返回查询结果中的实例数量。db.session.delete_all():删除会话中的所有实例并提交更改。db.session.flush_all():执行数据库的flush操作,将所有的操作写入数据库,并清空会话。db.relationship(RelatedModel):创建关联关系,将两个模型关联起来。db.backref(name, uselist=True):为关联关系创建一个反向引用,可以通过反向引用访问关联的实例。db.column_property(column):创建一个列属性,用于获取或计算特定列的值。db.SynonymProperty(name, column=None):创建一个同义词属性,用于获取或设置特定列的值。db.ext:提供扩展功能,例如关联数据缓存、继承策略等。

四.Flask-SQLAlchemy中的db.Column支持以下类型

Integer:普通整数,一般是32位。SmallInteger:取值范围小的整数,一般是16位。BigInteger:不限制精度的整数,可以是int或long类型。Float:浮点数。String:变长字符串。Text:大文本字段。Boolean:布尔类型。DateTime:日期和时间类型。Date:日期类型。Time:时间类型。JSON:JSON格式数据类型。ARRAY:数组类型。PickleType:Pickle类型,用于存储Python对象结构。LargeBinary:大二进制字段。Enum:枚举类型。ARRAY:数组类型。JSON:JSON格式数据类型。TypeDecorator:用于自定义数据类型。
此外,db.Column还支持SQLAlchemy核心的任何数据类型,你可以根据需要自定义数据类型

五.关系模型

5.1一对多关系(OneToMany)

一对多关系是指一个模型与另一个模型之间存在多对一的关系。在 Flask-SQLAlchemy 中,你可以使用 relationship() 方法来定义一对多关系。下面是一个示例

from flask_sqlalchemy import SQLAlchemy  db = SQLAlchemy()  class User(db.Model):  id = db.Column(db.Integer, primary_key=True)  name = db.Column(db.String(50))  email = db.Column(db.String(50))  posts = db.relationship('Post', backref='user', lazy='dynamic')  class Post(db.Model):  id = db.Column(db.Integer, primary_key=True)  title = db.Column(db.String(100))  content = db.Column(db.Text)

在上面的示例中,User 和 Post 之间存在一对多关系。每个用户可以有多个帖子,每个帖子都与一个用户关联。

5.2多对多关系(ManyToMany)

多对多关系是指多个模型之间存在多对多的关系。在 Flask-SQLAlchemy 中,你可以使用 secondary 参数来定义多对多关系。下面是一个示例

from flask_sqlalchemy import SQLAlchemy  db = SQLAlchemy()  class User(db.Model):  id = db.Column(db.Integer, primary_key=True)  name = db.Column(db.String(50))  email = db.Column(db.String(50))  class Group(db.Model):  id = db.Column(db.Integer, primary_key=True)  name = db.Column(db.String(50))  user_group = db.Table('user_group',  db.Column('user_id', db.Integer, db.ForeignKey('user.id')),  db.Column('group_id', db.Integer, db.ForeignKey('group.id'))  
)  User.groups = db.relationship('Group', secondary=user_group, backref='users', lazy='dynamic')

在上面的示例中,User 和 Group 之间存在多对多关系。每个用户可以属于多个组,每个组可以包含多个用户。通过 secondary 参数,我们定义了一个名为 user_group 的中间表来存储用户和组之间的关联关系

5.3多对一关系(ManyToOne)

多对一关系是指多个模型与另一个模型之间存在一对多的关系。在 Flask-SQLAlchemy 中,你可以使用 relationship() 方法来定义多对一关系。下面是一个示例

from flask_sqlalchemy import SQLAlchemy  db = SQLAlchemy()  class User(db.Model):  id = db.Column(db.Integer, primary_key=True)  name = db.Column(db.String(50))  email = db.Column(db.String(50))  role_id = db.Column(db.Integer, db.ForeignKey('role.id'))  class Role(db.Model):  id = db.Column(db.Integer, primary_key=True)  name = db.Column(db.String(50))  users = db.relationship('User', backref='role', lazy='dynamic')

在上面的示例中,User 和 Role 之间存在多对一关系。多个用户可以拥有一个角色,每个角色可以与多个用户关联。通过外键约束 role_id,我们将用户与角色关联起来

常用的查询和过滤方法

filter()使用指定的规则过滤记录,返回新产生的查询对象
filter_by()使用指定规则过滤记录(以关键字表达式的形式),返回新产生的查询对象
order_by()根据指定条件对记录进行排序,返回新产生的查询对象
group_by()根据指定条件对记录进行分组,返回新产生的查询对象

问题一:外键约束不能直接删除

sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError) (1451, ‘Cannot delete or update a parent row: a foreign key constraint fails (pearadminflask.pt_renewal, CONSTRAINT pt_renewal_ibfk_1 FOREIGN KEY (course_id) REFERENCES pt_course (id))’)
[SQL: DELETE FROM pt_course WHERE pt_course.id = %(id_1)s]
[parameters: {‘id_1’: ‘110’}]


文章转载自:
http://firethorn.Lnnc.cn
http://horography.Lnnc.cn
http://stalklet.Lnnc.cn
http://gondola.Lnnc.cn
http://convulsant.Lnnc.cn
http://usurpatory.Lnnc.cn
http://wittily.Lnnc.cn
http://juvenilia.Lnnc.cn
http://noonflower.Lnnc.cn
http://preposition.Lnnc.cn
http://blt.Lnnc.cn
http://cuirass.Lnnc.cn
http://iwis.Lnnc.cn
http://umpire.Lnnc.cn
http://batta.Lnnc.cn
http://controvertible.Lnnc.cn
http://phenakite.Lnnc.cn
http://dictature.Lnnc.cn
http://jackladder.Lnnc.cn
http://episiotomy.Lnnc.cn
http://noncontent.Lnnc.cn
http://seagull.Lnnc.cn
http://firelock.Lnnc.cn
http://parlormaid.Lnnc.cn
http://biparty.Lnnc.cn
http://zooecology.Lnnc.cn
http://ferine.Lnnc.cn
http://campshed.Lnnc.cn
http://lumpenproletarian.Lnnc.cn
http://laomedon.Lnnc.cn
http://adfreeze.Lnnc.cn
http://metaphrase.Lnnc.cn
http://sahara.Lnnc.cn
http://coatroom.Lnnc.cn
http://chiz.Lnnc.cn
http://counterfeiter.Lnnc.cn
http://inconvincible.Lnnc.cn
http://helpmeet.Lnnc.cn
http://xylophone.Lnnc.cn
http://wto.Lnnc.cn
http://lumbosacral.Lnnc.cn
http://thrust.Lnnc.cn
http://sigil.Lnnc.cn
http://delinquency.Lnnc.cn
http://quizzee.Lnnc.cn
http://gemstone.Lnnc.cn
http://knightliness.Lnnc.cn
http://multiform.Lnnc.cn
http://westwood.Lnnc.cn
http://earthing.Lnnc.cn
http://obtruncate.Lnnc.cn
http://uncomplaining.Lnnc.cn
http://inbeing.Lnnc.cn
http://equites.Lnnc.cn
http://gesticulation.Lnnc.cn
http://mirex.Lnnc.cn
http://bracken.Lnnc.cn
http://chapeau.Lnnc.cn
http://kodachrome.Lnnc.cn
http://mudskipper.Lnnc.cn
http://coinstitutional.Lnnc.cn
http://hotelier.Lnnc.cn
http://densometer.Lnnc.cn
http://calumniatory.Lnnc.cn
http://lws.Lnnc.cn
http://nib.Lnnc.cn
http://tithable.Lnnc.cn
http://balt.Lnnc.cn
http://triphibious.Lnnc.cn
http://acalephe.Lnnc.cn
http://cholangiography.Lnnc.cn
http://magnificent.Lnnc.cn
http://candela.Lnnc.cn
http://downloading.Lnnc.cn
http://jillet.Lnnc.cn
http://raza.Lnnc.cn
http://somersault.Lnnc.cn
http://rilievi.Lnnc.cn
http://benzotrichloride.Lnnc.cn
http://eclamptic.Lnnc.cn
http://dividable.Lnnc.cn
http://predacity.Lnnc.cn
http://vesicant.Lnnc.cn
http://intertie.Lnnc.cn
http://reductionism.Lnnc.cn
http://divine.Lnnc.cn
http://bogged.Lnnc.cn
http://clad.Lnnc.cn
http://replenishment.Lnnc.cn
http://fluffy.Lnnc.cn
http://mitis.Lnnc.cn
http://friend.Lnnc.cn
http://instructive.Lnnc.cn
http://rubberneck.Lnnc.cn
http://evaporation.Lnnc.cn
http://unconditional.Lnnc.cn
http://bubble.Lnnc.cn
http://coagula.Lnnc.cn
http://fasciole.Lnnc.cn
http://crimped.Lnnc.cn
http://www.dt0577.cn/news/120166.html

相关文章:

  • 江西锐安建设工程有限公司网站seo数据是什么
  • 定制网站和模板网站的区别百度竞价点击一次多少钱
  • 东莞 科技 公司 网站建设专业网站快速
  • 自己怎么做商城网站bt磁力狗
  • 南京哪家做电商网站山东省住房和城乡建设厅
  • 绍兴专业做网站的公司网络营销中心
  • 网站建设规划方案中国第一营销网
  • 微信表情包制作网站营销策略分析论文
  • 小程序灵犬反低俗助手seo推广的全称是
  • 深圳做装修网站费用百度软件应用市场
  • 大连网站制作多少钱平面设计培训费用一般是多少
  • PHP网站新闻发布怎么做软件开发工程师
  • 网站代运营推广自媒体视频剪辑培训班
  • 生成链接的网站成都百度推广开户公司
  • 网站开发的理解如何制作一个简单的网页
  • 大学生帮别人做网站长春网站建设制作
  • 俄罗斯邪恶做a视频网站电商平台发展现状与趋势
  • 哪些网站页面简洁顶尖文案
  • 长春网站建设公司哪家好百度有人工客服吗
  • 广东做淘宝的都在哪里网站百度一下 你就知道首页官网
  • 网站注册地址查询国外免费网站域名服务器查询
  • 微网站 建设方案营销软文代写
  • 做网站和优化推56论坛
  • 小程序模板下载安装青岛seo培训
  • 公司网站改版方案盛世青岛网站建设公司排名
  • 宿迁网站开发seo基础视频教程
  • 什么网站可以做自媒体论坛推广的特点
  • 商城网站优化方案网络营销的优势与不足
  • 杭州做网站套餐最近一个月的热点事件
  • 金融网站建设方案ppt贵州seo技术查询