Django ORM 关系管理对象的创建
2020-01-15 09:14
1226 查看
- 第一种方法自动创建第三张表
from django.db import models class Book(models.Model): title = models.CharField(max_length=32) pub = models.ForeignKey('Publisher', on_delete=models.CASCADE) class Author(models.Model): name = models.CharField(max_length=32) books = models.ManyToManyField('Book') # 不会生成字段 生成第三张表 可以set等方法
- 第二种方法手动创建第三张表
class Book(models.Model): title = models.CharField(max_length=32, unique=True) class Author(models.Model): name = models.CharField(max_length=32) class AuthorBook(models.Model): book = models.ForeignKey('Book',on_delete=models.CASCADE) author = models.ForeignKey('Author',on_delete=models.CASCADE) date = models.CharField(max_length=32) # 第三张表不能够使用 set方法
- 第三种半自动创建
class Book(models.Model): title = models.CharField(max_length=32, unique=True) class Author(models.Model): name = models.CharField(max_length=32) books = models.ManyToManyField('Book',through='AuthorBook') # 只用django提供的查询方法 不用创建表 用用户创建的表AuthorBook class AuthorBook(models.Model): book = models.ForeignKey('Book',on_delete=models.CASCADE) author = models.ForeignKey('Author',on_delete=models.CASCADE) date = models.CharField(max_length=32) class Book(models.Model): title = models.CharField(max_length=32, unique=True) class Author(models.Model): name = models.CharField(max_length=32) books = models.ManyToManyField('Book',through='AuthorBook',through_fields=['author','book']) # 只用django提供的查询方法 不用创建表 用用户创建的表AuthorBook class AuthorBook(models.Model): book = models.ForeignKey('Book',on_delete=models.CASCADE,null=True) author = models.ForeignKey('Author',on_delete=models.CASCADE,related_name='x1',null=True) tuiianren = models.ForeignKey('Author',on_delete=models.CASCADE,related_name='x2',null=True) date = models.CharField(max_length=32)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Django - ORM 多对多关系 - 中间关系表的创建方式探讨
- 详解python django面向关系数据库的ORM对象映射系统(1)
- django之ORM对象关系映射
- Django 的 model 处理,它是一种 ORM (Object Relation Mapping, 对象与关系的映射)
- django-orm字段、自定义字段、字段参数、元信息、多表关系
- 什么是持久化和对象关系映射ORM技术 [转]
- 使用对象-关系映射(ORM)系统中间件提升软件开发效率及质量
- 『收集』学习笔记之什么是持久化和对象关系映射ORM技术
- 一。对象管理第一次初始化(ObInitSystem) + 类型对象的创建(ObCreateObjectType)
- Orcale:子查询、集合运算、随堂练习相关子查询、创建和管理表、其他数据库对象
- Java 自定义注解实现ORM对象关系映射
- 学习笔记之什么是持久化和对象关系映射ORM技术
- 任务单2 相关问题 三级模式、数据库对象、关系图创建
- java总结1、类和对象的关系解析、如何创建类,如何创建对象,如何调用属性和方法、 构造方法与一般方法的区别、方法重载与重写的区别、解析面向对象的三大特征
- django之创建第9个项目-管理后台admin
- 创建对象与括号之间的关系
- 光脚丫学LINQ(019):使用对象关系设计器创建对象模型
- java 类的创建与对象的关系
- Django模型系统——ORM校园管理系统代码
- oracle的用户创建以及要注意的权限,角色,对象等管理