Flask-SQLAlchemy定义模型

模型表示程序使用的数据实体,在Flask-SQLAlchemy中,模型一般是Python类,继承自db.Model,db是SQLAlchemy类的实例,代表程序使用的数据库。

类中的属性对应数据库表中的列。id为主键,是由Flask-SQLAlchemy管理。db.Column类构造函数的第一个参数是数据库列和模型属性类型。

注:如果没有在创建数据库的时候指定编码的话,向数据库中插入中文后,会报错,那么需要修改数据库的编码集:

alter database 数据库名 CHARACTER SET utf8
如下示例:定义了两个模型类,作者和书名。

#coding=utf-8
from flask import Flask,render_template,redirect,url_for
from flask_sqlalchemy import SQLAlchemy

app = Flask(name)

#设置连接数据
app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘mysql://root:mysql@127.0.0.1:3306/test2’

app.config[‘SQLALCHEMY_TRACK_MODIFICATIONS’] = True

#实例化SQLAlchemy对象
db = SQLAlchemy(app)

#定义模型类-作者
class Author(db.Model):
tablename = ‘author’
id = db.Column(db.Integer,primary_key=True)
name = db.Column(db.String(32),unique=True
au_book = 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(32))
au_book = db.Column(db.Integer,db.ForeignKey(‘author.id’))
def str(self):
return ‘Book:%s,%s’%(self.info,self.lead)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值