定义数据模型| 学习笔记

简介: 快速学习定义数据模型

开发者学堂课程【Python Web 框架 Flask 快速入门定义数据模型】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/603/detail/8796


定义数据模型


目录

一、定义数据模型

二、演示


一、定义数据模型

通过操纵模型和数据库字段发生关联,对于  SQLAlchemy  扩展模型的定义,可以根据下方表格中基本字段类型,选项和关系选项进行操作。

常用的   SQL Alchemy   列选项

选项名:primary-key

说明:如果为  True  ,代表表的主键

选项名: unique

说明:如果为  True  ,代表不允许出现重复的值

选项名:  index

说明:如果为  True  ,为这列创建索引,提高查询效率

选项名:  default

说明:为这列定义默认值

常用的   SQL Alchemy  关系选项

选项名:  backref

说明:在关系的另一模型中添加反向引用

选项名:Primary join

说明:明确指定两个模型之间使用的联结条件

选项名: order-by

说明:指定关系中记录的排序方式。

选项名: seconday

说明:指定多对多记录的排序方式。


二、演示

比如有两张表格,一张表格为角色,包括管理员和普通用户,另外一张表格为用户(角色  ID  ),如下表所示

#数据库的模型,需要继承  db.Model

class Role(db.Model):

#定义表名

__tablename___ = 'roles"

#定义字段

# db.Column表示是一个字段

id = db.Column(db.Integer,,primary_key=True)

name = db.Column(db.String(16),unique=True)

class User(db.Model):

tablename _='users' I

id = db.Column(db.Integer, primary_key=True)

name = db.Column(db.String(16), unique=True)

# db.ForeignKey('roles.id')表示是外键,表名,id

role_id = db.Column(db.Integer, db.ForeignKey(' roles.id'))

相关文章
|
2月前
|
存储 编译器 数据库
《C 语言结构体:构建复杂数据模型的基石》
《C 语言结构体:构建复杂数据模型的基石》介绍了C语言中结构体的概念、定义和使用方法,以及如何利用结构体构建复杂的数据模型,是学习C语言和数据结构的重要参考资料。
|
5月前
|
存储 开发框架 前端开发
EAV模型(实体-属性-值)的设计和低代码的处理方案(2)--数据的查询处理
EAV模型(实体-属性-值)的设计和低代码的处理方案(2)--数据的查询处理
|
6月前
|
消息中间件 NoSQL 中间件
中间件定义数据模型
【7月更文挑战第8天】
69 2
|
5月前
|
存储 开发框架 前端开发
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
EAV模型(实体-属性-值)的设计和低代码的处理方案(3)-- 实体属性定义及前端列表展示和数据录入处理
|
7月前
|
XML NoSQL 数据库
【DDIA笔记】【ch2】 数据模型和查询语言 -- 概念 + 数据模型
【6月更文挑战第5天】本文探讨了数据模型的分析,关注点包括数据元素、关系及不同类型的模型(关系、文档、图)与Schema模式。查询语言的考量涉及与数据模型的关联及声明式与命令式编程。数据模型从应用开发者到硬件工程师的各抽象层次中起着简化复杂性的关键作用,理想模型应具备简洁直观和可组合性。
49 2
|
6月前
|
Java API 数据库
使用JPA实现复杂数据模型映射
使用JPA实现复杂数据模型映射
|
8月前
|
数据采集 数据可视化 数据建模
数据模型依赖图的作用是什么?
数据模型依赖图的作用是什么?
133 2
|
8月前
|
消息中间件 安全 搜索推荐
概述软件架构的定义与分类
【5月更文挑战第8天】软件架构是指导大型软件系统设计的抽象模式集合,旨在简化复杂工程,通过模块化实现系统各方面的分工。
|
8月前
|
存储 大数据 数据管理
数据模型设计
数据模型设计
|
前端开发 JavaScript
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱
【组件封装】基于neo4jD3封装关系图、关联图谱