Flask SQLAlchemy一对一,一对多的使用方法实践

yipeiwu_com5年前Python基础
Flask-SQLAlchemy安装和建表操作请参考这里

复制代码 代码如下:

# Role表
class Role(db.Model):
    id=db.Column(db.Integer,primary_key=True)
    name=db.Column(db.String(80))

# RoleType表
class Role_type(db.Model):
    query_class=Common_list_name_Query
    id=db.Column(db.Integer,primary_key=True)
    name=db.Column(db.String(120))

一对一
只需要在属性里改变下定义

复制代码 代码如下:

# Role表
class Role(db.Model):
    role_type_id=db.Column(db.Integer,db.ForeignKey('role_type.id'))

role=db.relationship('Role',backref='role_type',lazy='dynamic', uselist=False)

一对多

复制代码 代码如下:

# 一对多需要在两个表内斗填上相互的关系
class Role(db.Model):
    role_type_id=db.Column(db.Integer,db.ForeignKey('role_type.id'))

class Role_type(db.Model):
    roles=db.relationship('Role',backref='role_type',lazy='dynamic')

具体参数可以参考如下的文档:
http://flask.pocoo.org/docs/patterns/sqlalchemy/
http://packages.python.org/Flask-SQLAlchemy/

相关文章

使用Python横向合并excel文件的实例

使用Python横向合并excel文件的实例

起因: 有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。 数据示意: 具有多个 代码: # -*- coding: utf-8 -*- "...

Numpy中的mask的使用

Numpy中的mask的使用

numpy中矩阵选取子集或者以条件选取子集,用mask是一种很好的方法 简单来说就是用bool类型的indice矩阵去选择, mask = np.ones(X.shape[0],...

python实现维吉尼亚算法

python实现维吉尼亚算法

本文实例为大家分享了python实现维吉尼亚算法的具体代码,供大家参考,具体内容如下 1 Virginia加密算法、解密算法 Vigenenre密码是最著名的多表代换密码,是法国著名密码...

Python向日志输出中添加上下文信息

除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息。比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用...

使用python进行拆分大文件的方法

使用python进行拆分大文件的方法

python按指定行数把大文件进行拆分 如图大文件有7000多万行,大小为16G 需要拆分成多个200万行的小文件 代码如下: # -*- coding:utf-8 -*- fro...