26、flask的增删改查

from flask import Flask,render_template
from flask_sqlalchemy import SQLAlchemy
import os

app = Flask(name)
db = SQLAlchemy(app)
#配置-项目的根路径
BASE_DIR = os.path.dirname(os.path.abspath(file))
连接mysql,要按照pymysql ; root:123456@127.0.0.1 用户名:密码@
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql+pymysql://root:123456@127.0.0.1/myflask’
#显示mysql语句
#app.config[‘SQLALCHEMY_ECHO’] = True

#一个人有 多个地址
class Person(db.Model):
tablename=‘my_person’
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
name = db.Column(db.String(80),unique=True)
addresses = db.relationship(‘Address’,backref=‘person’,lazy=‘dynamic’,cascade=‘all, delete-orphan’)

class Address(db.Model):
id = db.Column(db.Integer,primary_key=True,autoincrement=True)
address = db.Column(db.String(69))
person_id = db.Column(db.Integer,db.ForeignKey(‘my_person.id’))

def init():
    # db.drop_all()#删除表
    db.create_all() #创建表到数据库
# 添加
def add1():
    a = Person(name='yes')
    db.session.add(a)
    db.session.commit()  #提交之后才有id
    addr1 = Address(address='广州',person_id=a.id)
    addr2 = Address(address='深圳',person_id=a.id) #一个人增加多个地址
    db.session.add(addr1)
    db.session.add(addr2)
    db.session.commit()
#修改
def update1():
    b = Person.query.get(2) # 获取对象
    b.name='panpan23' #修改
    db.session.commit()

# 删除
def delete1():
#     级联删除只要主键被删除,外键也会被删除,某人被删除,所对应的地址都会被删除
    p = Person.query.get(1)
    db.session.delete(p)
    db.session.commit()

#查询
def select():
    person = Person.query.filter_by(name='panpan').first()
    print(person.name)
    print(person.id)
    adrs = Address.query.filter_by(person_id=person.id) #获取到的是多个地址
    for adr in adrs:
        print(adr.address)

if __name__ == '__main__':
    # init()
    # add1()
    update1()
    # delete1()
    # select()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值