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

相关推荐
m0_60285776几秒前
mysql如何防止用户通过子查询窃取权限_MySQL安全参数设置
jvm·数据库·python
添砖java‘’9 分钟前
MYSQL操作库
数据库·mysql
逻辑驱动的ken11 分钟前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
qq_1898070312 分钟前
Less如何处理CSS长文本换行_封装Mixin解决不同场景需求
jvm·数据库·python
HHHHH1010HHHHH16 分钟前
CSS如何处理带有状态切换的折叠菜单_利用BEM修饰符管理状态
jvm·数据库·python
2401_8716965218 分钟前
如何在响应式网页中水平居中表单(CSS 绝对定位居中方案)
jvm·数据库·python
2301_7751481519 分钟前
CSS如何减少对HTML结构依赖_利用BEM命名保持样式的逻辑独立
jvm·数据库·python
计算机徐师兄25 分钟前
Python基于Django的创新实验室系统(附源码,文档说明)
python·django·创新实验室系统·python创新实验室系统·创新实验室·实验室系统·python实验室系统
sinat_3834373626 分钟前
HTML函数调试需要高性能电脑吗_调试环境硬件需求技巧【指南】
jvm·数据库·python
解救女汉子29 分钟前
Nginx如何配置phpMyAdmin访问_反向代理设置方法
jvm·数据库·python