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 redis 批量设置过期key过程解析

这篇文章主要介绍了python redis 批量设置过期key过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用 Redi...

一个小示例告诉你Python语言的优雅之处

比如, 我们希望希望检测"一段string是否以特定的字符串结尾?", 通常我们使用: if needle.endswith('ly') or needle.endswi...

django用户登录验证的完整示例代码

django用户登录验证的完整示例代码

1,urls.py内容: from django.conf.urls import url from django.contrib import admin from myApp...

详解Python list和numpy array的存储和读取方法

详解Python list和numpy array的存储和读取方法

numpy array存储为.npy 存储: import numpy as np numpy_array = np.array([1,2,3]) np.save('log.npy'...

分析用Python脚本关闭文件操作的机制

如果不用“with”,那么Python会在何时关闭文件呢?答案是:视情况而定。 Python程序员最初学到的东西里有一点就是可以通过迭代法很容易地遍历一个打开文件的全文: f =...