Django如何创建表关系,Django的请求声明周期流程图

【1】表与表之间的关系

一对一
  • 左表的一条记录对应右表的一条记录,反之亦然
多对一
  • 左表的一条记录对应右表的多条记录,反之不成立
多对多
  • 左表的一条记录对应右表的多表记录,反之成立

【2】django中创建表关系

python 复制代码
class Book(models.Model):
    title = models.CharField(max_length=64)
    """
    max_digits=None,:总位数
    decimal_places=None:小数位数
    """
    # price decimal(8,2)
    price = models.DecimalField(max_digits=8, decimal_places=2)
    # publish_id = models.ForeignKey(to='Publish', to_field='id')
    """对于外键字段关系,会自动帮我们拼接_id"""
    publish = models.ForeignKey(to='Publish')
    """authors它是一个虚拟字段,它不会实际在表中创建出来这个字段,这一句可以自动帮助我们创建出来第三张表"""
    authors = models.ManyToManyField(to='Author')
"""出版社表"""
class Publish(models.Model):
    name = models.CharField(max_length=64)
    addr = models.CharField(max_length=64)


"""作者表"""
class Author(models.Model):
    name = models.CharField(max_length=64)
    author_detail = models.OneToOneField(to='AuthorDetail')

"""作者详情表"""
class AuthorDetail(models.Model):
    phone = models.CharField(max_length=64)
    email = models.CharField(max_length=64)

上面的代码是Django1.x版本的写法。Django2.x的版本有些许不同,需要在添加外键的时候手动加上级联删除(on_delete=models.CASCADE)

【3】Django的请求声明周期流程图

Django的请求生命周期流程图可以帮助我妈们熟练django的一个完整执行流程

相关推荐
麦聪聊数据9 分钟前
全链路数据安全防护(中):入口、权限、审计,筑牢安全管控铁三角
数据库
山岚的运维笔记15 分钟前
mysql 专业笔记 -- 第 17 章:连接:连接三个具有相同名称 ID 的表
运维·数据库·笔记·后端·学习·mysql·dba
YangYang9YangYan19 分钟前
校招视角|财务数字化岗位 SQL、工具、项目完整备考指南
大数据·数据库·sql
bksczm19 分钟前
从 “什么是 MySQL“ 到库与表的完整操作(MySQL基础篇)
linux·数据库·mysql
风123456789~28 分钟前
【Oracle专栏】解决clob+dblink 插入报错 ORA-22992
数据库·oracle
后台模板学习35 分钟前
学习的心态高频面试题
java·数据库·学习
redreamSo1 小时前
想给产品加一个 AI 搜索,是上向量数据库还是用 MongoDB 就够了?
数据库·人工智能·mongodb
APItesterCris2 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
SKH.2 小时前
网络(5)数据库
jvm·数据库
kyrie_sakura3 小时前
MySQL数据库学习笔记3--关联(联合)查询
数据库·学习·mysql