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

yipeiwu_com7年前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使用while循环花式打印乘法表

Python使用while循环花式打印乘法表

花式打印9*9乘法表 #第一个计数器 i = 1 while i < 10: #第二个计数器 j = 1 while j <= i: print('%...

pandas表连接 索引上的合并方法

如下所示: left1 = pd.DataFrame({‘key':[‘a','b','a','a','b','c'],'value':range(6)}) right1 = pd...

python socket 聊天室实例代码详解

python socket 聊天室 import socket s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) #绑定端口...

Python实现随机创建电话号码的方法示例

Python实现随机创建电话号码的方法示例

本文实例讲述了Python实现随机创建电话号码的方法。分享给大家供大家参考,具体如下: 当需要随机的生成一些电话号码的时候,可以使用以下脚本,简单实用,第一个列表中 list列表中的数字...

使用Template格式化Python字符串的方法

对Python字符串,除了比较老旧的%,以及用来替换掉%的format,及在python 3.6中加入的f这三种格式化方法以外,还有可以使用Template对象来进行格式化。 from...