关于django中render_to_response()的用法以及外键的使用
render_to_response()
render_to_response() 的第一个参数必须是要使用的模板名称。 如果要给定第二个参数,那么该参数必须是为该模板创建 Context 时所使用的字典。 如果不提供第二个参数, render_to_response() 使用一个空字典。
render_to_response() 是为了更高效的载入某个模板文件,渲染它,然后将此作为 HttpResponse 返回。
外键
class ForeignKey(to,on_delete,**options)。第一个参数是引用的是哪个模型,第二个参数是在使用外键引用的模型数据被删除了,这个字段该如何处理,比如有CASCADE、SET_NULL等(外键删除各个参数的意思)。
如果想在APP中使用外键,首先创建一个APP之后在setting中设置
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=100)
class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
# 是由Category影响Article
category = models.ForeignKey(‘Category’,on_delete=models.CASCADE)
这一行就是使用外键,第一个参数是引用的模型,也就是Category,第二个参数就是当删除了这个参数之后这个字段如何处理
在使用了外键之后,Django在底层为Article表添加了一个属性名为_ID的字段,记录着对应的种类的主键,以后用过article.category访问的时候,实际上是先通过category_ID找到对应的数据,然后再提取Category表中的这条数据,形成一个模型
外键删除操作的参数意思
如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下:
CASCADE:级联操作。如果外键对应的那条数据被删除了,那么这条数据也会被删除。
PROTECT:受保护。即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据。如果我们强行删除,Django就会报错。
SET_NULL:设置为空。如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空。如果设置这个选项,前提是要指定这个字段可以为空。
SET_DEFAULT:设置默认值。如果外键的那条数据被删除了,那么本条数据上就将这个字段设置为默认值。如果设置这个选项, 前提是要指定这个字段一个默认值 。
SET():如果外键的那条数据被删除了。那么将会获取SET函数中的值来作为这个外键的值。SET函数可以接收一个可以调用的对象(比如函数或者方法),如果是可以调用的对象,那么会将这个对象调用后的结果作为值返回回去。可以不用指定默认值
DO_NOTHING:不采取任何行为。一切全看数据库级别的约束。
以上这些选项只是Django级别的,数据级别依旧是RESTRICT!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- OpenCV4.1.0+VS2017环境配置的方法步骤
- 详解如何实现Laravel的服务容器的方法示例
- laravel 数据迁移与 Eloquent ORM的实现方法
- PDO::query讲解
- Laravel5框架自定义错误页面配置操作示例
- PHP-FPM和Nginx的通信机制详解
- PHP PDOStatement::columnCount讲解
- PHP中上传文件打印错误错误类型分析
- Laravel如何创建服务器提供者实例代码
- PDO::quote讲解
- php intval函数用法总结
- Python Selenium模块安装使用教程详解
- Python selenium模块实现定位过程解析
- Django ORM判断查询结果是否为空,判断django中的orm为空实例
- ThinkPHP框架整合微信支付之JSAPI模式图文详解