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的一个完整执行流程

相关推荐
赵渝强老师1 天前
【赵渝强老师】国产金仓数据库的表空间
数据库·postgresql
廋到被风吹走1 天前
【数据库】【Oracle】PL/SQL 存储过程与函数
数据库·sql·oracle
amao99881 天前
数据库原理与技术 - 3-3 3-4 SQL语言(二)数据操作语言
数据库·sql·oracle
AC赳赳老秦1 天前
DeepSeek+Power BI:数据导入脚本生成与可视化图表优化技巧
数据库·mongodb·信息可视化·流程图·mapreduce·数据库架构·deepseek
VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
笑洋仟1 天前
Linux StorCLI工具安装和使用
linux·数据库·redis
麦聪聊数据1 天前
数据服务化(生产者篇):如何通过 QuickAPI 实现 SQL 逻辑的安全封装与发布?
数据库·sql·安全
amao99881 天前
数据库原理与技术 - 3-5 SQL查询训练(习题)
数据库·sql
程序员Null的自我修养1 天前
全面整理Redis过期删除与内存淘汰策略底层原理机制
数据库·redis
陌路201 天前
MYSQL索引篇--基础知识
数据库·mysql