美文网首页
Django笔记:数据库多表操作

Django笔记:数据库多表操作

作者: 倔犟的贝壳 | 来源:发表于2021-05-30 13:08 被阅读0次

数据库的表与表之间有三种关系:一对一、一对多、多对多。
那么如何通过模型建立这些关系呢

  • 一对一:OneToOneField

# 一对一
#酒店预订
class Reservation(models.Model):
    id = models.CharField(max_length=30,primary_key=True)
    name = models.CharField(max_length=30)
    booking_date = models.DateTimeField()
    arrival_date = models.DateField()

#当日订单入住状态
class TodayOrderStatus(models.Model):
    booking_id = models.OneToOneField(Reservation,on_delete=models.CASCADE)
    status = models.IntegerField()
ER图
  • 一对多ForeignKey

#产品类型
class Type(models.Model):
    id = models.AutoField(primary_key=True)
    type_name = models.CharField(max_length=20)

#产品
class Product2(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)
    weight = models.CharField(max_length=20)
    type = models.ForeignKey(Type,on_delete=models.CASCADE)
ER图
  • 多对多 ManyToManyField

# 多对多
#科目表
class Project(models.Model):
    id = models.CharField(max_length=20,primary_key=True)
    name = models.CharField(max_length=50)
#学生表
class Student(models.Model):
    no = models.CharField(max_length=20,primary_key=True)
    name = models.CharField(max_length=30)
    sex = models.CharField(max_length=2)
    age = models.IntegerField()
    project = models.ManyToManyField(Project)
ER图
  • ManyToMany会自动生成第三张表

相关文章

  • Django笔记:数据库多表操作

    数据库的表与表之间有三种关系:一对一、一对多、多对多。那么如何通过模型建立这些关系呢 一对一:OneToOneFi...

  • django学习笔记--数据库中的多表操作

    1.Django数据库----多表的新增操作 1.一对一模式下新增 创建一个详情对象,把这个对象赋值给创建的新的u...

  • MySQL 多表操作

    day07-多表操作 今日任务 完成对MYSQL数据库的多表查询及建表的操作 教学目标 掌握MYSQL中多表的创建...

  • Django 的多表操作

    创建模型 实例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄。 作者详细模型:把作者的详情放...

  • sql学习

    一、对数据库的操作 二、对数据库表的操作 三、对数据库表记录进行操作(修改) 多表查询

  • 第69节:Java中数据库的多表操作

    第69节:Java中数据库的多表操作 前言 学习数据库的多表操作,去电商行业做项目吧!!! 达叔,理工男,简书作者...

  • django据库配置_Django学习笔记(六)-python

    django数据库配置_Django学习笔记(六)-python 1. 数据库默认设置 :sqlite3 """ ...

  • 史上最高效的ORM方案——GreenDao3.0高级用法

    目录 session 缓存 多表关联 多表查询 自定义参数类型 与数据库操作相关的AS插件 session 缓存 ...

  • MySQL数据库查询 学习笔记

    WP网站数据库导入操作 WP网站数据库导出操作(在数据库命令行外面执行) stockxstoress.com多表联...

  • Django模型层_多表操作

    创建模型实例:我们来假定下面这些概念,字段和关系作者模型:一个作者有姓名和年龄。作者详细模型:把作者的详情放到详情...

网友评论

      本文标题:Django笔记:数据库多表操作

      本文链接:https://www.haomeiwen.com/subject/evbysltx.html