Flask -SQLAlchemy 数据库一对一

from  flask import Flaskfrom flask_sqlalchemy import SQLAlchemyfrom datetime import datetimeimport configapp = Flask(__name__)app.config.from_object(config)db = SQLAlchemy(app)class User(db.Model):    __tablename__ = "user"    id  = db.Column(db.Integer,primary_key=True,autoincrement=True)    username = db.Column(db.String(50),nullable=False)    password = db.Column(db.String(50),nullable=False)    phone = db.Column(db.String(11),nullable=False)    email = db.Column(db.String(30),nullable=False)    reg_time = db.Column(db.DateTime,default = datetime.now)class Lib_card(db.Model):    __tablename__ =‘lib_card‘    id = db.Column(db.Integer,primary_key=True,autoincrement=True)    card_id = db.Column(db.Integer,nullable=False)    papers_type = db.Column(db.String(50),nullable=False)    borrow_reg_time = db.Column(db.DateTime,default=datetime.now)    user_id = db.Column(db.Integer,db.ForeignKey(‘user.id‘))    users = db.relationship(‘User‘,backref=db.backref(‘cards‘),uselist=False)db.create_all()@app.route(‘/add‘)def add():    user1 = User(username=‘张三‘,password=‘1111111‘,phone=‘138888888‘,email=‘[email protected]‘)    user2 = User(username=‘李氏‘,password=‘2222222‘,phone=‘137777777‘,email=‘[email protected]‘)    db.session.add(user1)    db.session.add(user2)

    card1 = Lib_card(card_id=‘18001‘,user_id=‘1‘,papers_type=‘身份证‘)    card2= Lib_card(card_id=‘18002‘,user_id=‘2‘,papers_type=‘身份证‘)    db.session.add(card1)    db.session.add(card2)    db.session.commit()    return ‘添加数据成功‘@app.route(‘/select‘)def select():    user = User.query.filter(User.username==‘张三‘).first()    art = user.cards    for k in art:        print(k)        print(k.card_id)    card = Lib_card.query.filter(Lib_card.card_id==‘18001‘).first()    user = card.users    print(user.username)    return ‘查询数据成功‘

@app.route(‘/‘)def index():    return ‘index‘if __name__ == ‘__main__‘:    app.run(debug=True)

config 为数据库链接配置
USERNAME = ‘root‘PASSWD=‘1234qwer¥%&‘HOST=‘127.0.0.1‘PORT=‘3306‘DATABASE=‘db_demo1‘DB_URI="mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format(USERNAME,PASSWD,HOST,PORT,DATABASE)SQLALCHEMY_DATABASE_URI=DB_URISQLALCHEMY_TRACK_MODIFICATIONS=FalseSQLALCHEMY_ECHO = True

原文地址:https://www.cnblogs.com/hnsya/p/12275798.html

时间: 2024-08-02 01:59:33

Flask -SQLAlchemy 数据库一对一的相关文章

flask SQLAlchemy中一对多的关系实现

SQLAlchemy是Python中比较优秀的orm框架,在SQLAlchemy中定义了多种数据库表的对应关系, 其中一对多是一种比较常见的关系.利用flask sqlalchemy实现一对多的关系如下: 1. 建立数据库的模型 在本次试验中建立三个表: user, phone ,atttr.user 和phone, phone 和atttr均为一对多的关系.实现如下: #!/usr/bin/env python # -*- coding: utf-8 -*- from flask import

flask sqlalchemy实现分页功能

接触到了一个新的实现分页的功能,记录下来 第一种方法:() flask sqlalchemy里面包括分页查询首先记录一下此方法实现分页查询: Post.query.paginate(1,10)    #第一个参数指示返回第几页的内容,第二页的参数表示每页展示的对象数量 Post.query.paginate(2,10)   #表示展示第二页数据,展示的对象是11~20个对象 不过,这种分页查询和.first(),.all()不同的是:它返回的是一个pagination对象 需要在前端页面中添加.

数据库一对一、一对多、多对多关系

数据库一对一.一对多.多对多关系 一.首先给出三种关系的实例 一对一关系实例 ? 一个人对应一张身份证,一张身份证对应一个人 一对多关系实例 ? 一个公司的部门拥有多个职员,一个职员只能够属于某个部门 多对多实例 ? 一本图示可以拥有多个作者,一个作者可以写很多本书. 一对一关系 一对多,是最常见的一种设计.就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键.这主要看以哪张表为中心. 优点 便于管理.可提高一定的查询速度 减轻 CPU 的 IO 读写,提高存取效率.

flask 定义数据库关系(一对一)

一对一 我们将使用国家和首都来演示一对一关系:每个国家只有一个首都.反过来,一个城市也只能作为一个国家的首都.一对一关系如下: 在示例程序中,Country类表示国家,Capital类表示首都.建立一对一关系后,我们将在Country类中创建一个标量关系capital,调用它会获取单个Capital对象,我们还在Capital类中创建一个标量关系属性country,调用它会获取单个的Country对象. 一对一关系实际上是通过建立双向关系的一对多关系的基础上转化而来.我们要确保关系两侧的关系属性

Flask SQLAlchemy & model

Flask-SQLAlchemy Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. 配置Flask-SQLAlchemy 示例: MySQL: mysql://username:[email protected]/database 定义模型 from sqlalchemy import Column, Integer, MetaData, VARCHAR from flask

Flask之数据库操作

4.2 数据库基本操作 在Flask-SQLAlchemy中,插入.修改.删除操作,均由数据库会话管理.会话用db.session表示.在准备把数据写入数据库前,要先将数据添加到会话中然后调用commit()方法提交会话. 数据库会话是为了保证数据的一致性,避免因部分更新导致数据不一致.提交操作把会话对象全部写入数据库,如果写入过程发生错误,整个会话都会失效. 数据库会话也可以回滚,通过db.session.rollback()方法,实现会话提交数据前的状态. 在Flask-SQLAlchemy

pycharm中flask操作数据库

一.新建flask工程 二.新建数据库 三.Terminal中pip install xxx pip install flask_script pip install flast_migrate pip install pymysql 四.添加 config.py, models.py, manage.py app.py: from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) a

Flask SQLAlchemy 表字段默认值

在网上查到的SQLAlchemy设置字段默认值的方法都是类似如下方法: from sqlalchemy.sql.sqltypes import TIMESTAMP class Test(db.Model):     id = db.Column(db.Integer, primary_key = True)     name = db.Column(db.String(32))     create_date = db.Column(TIMESTAMP, default = datetime.d

flask SQLAlchemy 入门示例

#coding=utf-8 from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///D:/code/t/src/app.db' db = SQLAlchemy(app) class User(db.Model):     id = db.Column(db.Integer,