博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django数据库表中多对多关系ROM操作
阅读量:7255 次
发布时间:2019-06-29

本文共 1353 字,大约阅读时间需要 4 分钟。

1.Django处理web请求的流程:
  1. 浏览器发送请求

    1. Django接收到请求

    2. 在urls.py中匹配url,找到对应的函数

    3. 执行函数(views.py)   -- 业务逻辑

    4. 得到函数的返回值返回给浏览器

2.发请求的方式:
  1. 在浏览器上输入地址,回车  ——》  get

    1. 点击a标签   ——》 get

    2. form表单 默认是 get请求

    3. form表单 method = 'post'    ——》 post

3.返回的响应
  1. HttpResponse('字符串')     ——》  字符串

    1. render(request,'HTML文件名',{key:value})   ——》 一个完整的HTML页面. redirect('跳转的地址')   ——》重定向  Location:地址

4.外键

​ 表示多对一的关系      book    publisher 

class Book(models.Model):     title = models.CharField(max_length=32, unique=True) # 书籍的名称 publisher = models.ForeignKey('Publisher', on_delete=models.CASCADE) # 关联了出版社

​ 查询:

​ book_obj_list = models.Book.objects.all()

​ for book in book_obj_list :

​ book.id    ——》主键

​ book.title ——》标题

​ book.publisher  ——》关联的出版社对象

​ book.punlisher_id   ——》 本张表中存的出版社的ID

​ book.publisher.name    ——》出版社的名称

​ 创建:

​ models.Book.objects.create(title='xxxxx',publisher=publisher_obj )   # 使用对象

​ models.Book.objects.create(title='xxxxx',publisher_id=publisher_obj.id  )   # 使用对象id

​ 删除:

​ models.Book.objects.get(id=1).delete()

​ models.Book.objects.filter(id=1).delete()

​ 编辑:

​ book_obj.title = 'xxxx'

​ book_obj.publisher = publisher _obj  

​ book_obj.publisher_id = publisher _obj.id

​ book_obj.save()

 

1.多对多的关系
  1. model

    class Author(models.Model):     name = models.CharField(max_length=32, unique=True) # 作者的名字 books = models.ManyToManyField('Book') # 表示作者和书籍 多对多的关系

 

 

 

 

 

2.作者的增删改查
  1. 查询

 

  1. 新增

 

  1. 删除、编辑见代码

 

 

3.多对多补充

 

自己创建第三表,还要使用管理对象

 

转载于:https://www.cnblogs.com/PythonMrChu/p/10065640.html

你可能感兴趣的文章
语言数据类型
查看>>
Sql 解析XML 解决方案
查看>>
C++ mfc
查看>>
hadoop搭建与eclipse开发环境设置
查看>>
封装一个信号量集操作函数的工具
查看>>
职责要求
查看>>
java反射机制
查看>>
哈哈,好一个 uri,
查看>>
LVM扩容
查看>>
三:简单工厂模式
查看>>
正则表达式元字符
查看>>
【vue系列】elementUI 穿梭框右侧获取当前选中项的值的思路
查看>>
laravel and lumen 软删除操作
查看>>
数据集---Zachary's karate club---等
查看>>
Django之Form组件
查看>>
jquery validate.js 不能验证
查看>>
请教Ado.Net按文本读取CSV/Txt文件时,如何禁止将内容转换成数字
查看>>
电子电路基础——电感、磁珠
查看>>
Django tutorial part2
查看>>
loj10098 分离的路径
查看>>