首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django模型中有外键关系表删除相关设置

0904自我总结 django模型中有外键关系表删除相关设置 一.一对一 例如有Author、AuthorDetail两表 author = models.OneToOneField(to='Author...', db_constraint=False, on_delete=models.DO_NOTHING, ) 1)关系字段放在Book表中(多一方...models.DO_NOTHING为删除级联关系, models.CASCAD为级联关系,'SET_NULL'置空,SET_DEFAULT设为默认值 两者区别 models.SET关联表内容删了,关联相关内容不会删除...关系字段放在任意一方都可以:出版社删除或书删除彼此不影响,但关系表一定级联删除 2)正向找 外键字段,反向找 外键字段related_name 3)db_constraint断开表关联,on_delete不存在(不设置...,本质在第三张表中设置,且一定是级联)

3K20

Python面试题:Django Web框架基础与进阶

数据库操作:ORM:描述Django ORM基本使用,包括定义模型、执行CRUD操作、查询过滤等。数据库迁移:解释Django数据库迁移机制,演示如何创建、应用、回滚迁移。...视图与模板:视图函数与类视图:对比视图函数与类视图优缺点,给出使用场景示例。模板语言:列举Django模板语言主要功能(循环、条件、模板继承、模板标签等),并编写简单示例。...表单与验证:表单类:阐述Django表单类定义、字段类型、验证规则、绑定数据、清洗数据等过程。自定义验证:演示如何为表单字段添加自定义验证方法,处理复杂验证逻辑。...用户认证与授权:认证系统:描述Django自带认证系统,包括用户模型、登录/登出、密码管理等。权限与组:解释Django权限系统,演示如何为用户分配权限、创建用户组,以及在视图中进行权限检查。...规避:使用Django提供防护措施(QuerySet查询、模板自动转义、CSRF middleware),编写安全代码。四、代码示例1.

13510
您找到你想要的搜索结果了吗?
是的
没有找到

django-7-django模型系统

TestFiled  DateFiled  AutoFiled(primary_key=True)自增,不指定主键会自动创建 在使用时候何以设置DateField.auto_now每次自动保存对象时候自动设置改字段为当前时间...,设置DateField.auto_now_add当对象第一次被创建时自动设置当前时间  DateTimeFiled >> https://docs.djangoproject.com... 模型类上管理器(class.objects)  queryset (惰性,,没有操作数据库)表示数据库中对象集合,等同于select 语句   query 获取mysql 语句  first()...) 根据给定条件获取过滤后queryset,多个条件用','连接  exclude(**kwargs) 作用和filter相反,去除不符合条件对象  多条件or连接  from django.db.models...,数据大时候不用步长  ***切片后不再支持附加条件与排序  *多字段排序有什么用?

78210

Django相关知识点回顾

' 4.将session信息存储到redis中 需要安装扩展: pip install django-redis 然后再配置中进行设置 # 设置Django框架缓存位置(如果不做设置,缓存默认是服务器内存...b) Django模板变量不能直接进行算术运算。 13.2.2模板控制语句 13.2.2.1条件判断 a) Django模板在进行条件判断时,比较操作符两边必须有空格。...all 无 查询模型类对应表格中所有数据 QuerySet(查询集) get 查询条件 查询满足条件一条且只能有一条数据 模型类对象,查不到会报错DoesNotExist filter 查询条件 返回满足条件所有数据...= 值 可以写多个查询条件,默认是且关系 F对象: 用于查询时字段之间比较 from django.db.models import F Q对象: 用于查询时条件之间逻辑关系 from django.db.models...使用 1.在配置文件中设置配置项MEDIA_ROOT='上传文件保存目录' 2.定义模型类时,图片字段类型使用 ImageField 3.迁移生成表并在admin.py注册模型类,直接登录Admin

10K51

Django】 开发:数据库操作和后台管理

〜 非操作 语法 from django.db.models import Q Q(条件1)|Q(条件2) # 条件1成立或条件2成立 Q(条件1)&Q(条件2) # 条件1和条件2同时成立 Q(...方法进行注册,: from django.contrib import admin admin.site.register(自定义模型类) :在 bookstore/admin.py 添加如下代码对...list_filter 设置激活 Admin 修改列表页面右侧栏中过滤器 search_fields 设置启用 Admin 更改列表页面上搜索框。...list_editable 设置模型字段名称列表,这将允许在更改列表页面上进行编辑。...(设置完成后需要立马更新同步数据库) 2. verbose_name = '单数名' - 给模型对象一个易于理解名称(单数),用于显示在/admin管理界面中

4K40

django优雅实现软删除,支持Admin和DRF软删除

何为软删除 当你想对数据进行删除时候,如果使用物理删除,那么数据真的消失了。使用软删除,可以让数据保留,但是不会被真的删除。只是在字段上设置了一个值,表示数据已经被删除。...需要解决问题 DRF 暴露DELETE方法一旦被执行,就需要操作软删除,把is_deleted字段设置为True。...同样,DRF对外操作其他接口,查询,修改操作,就不允许找到已经软删除数据。 自带Admin 既然是超级管理后台,那么就允许操作任何数据,包括已经软删除,而不是列表找不到软删除数据。...简而言之: drf找不到删除数据,admin需要全部数据 drf和admin删除数据都是软删除 解决方案 DRF Django Manager 赋予了 Django模型(Model)中操作数据库能力...也就是:Book.objects.all()中objects。有没有想过它到底是什么? 显然,默认模型Manager并不能解决我们问题,所以我们需要自定义模型Manager。

2.1K40

你想要Python面试都在这里了【315+道题】

12、select、poll、epoll 模型区别? 13、简述 进程、线程、协程区别 以及应用场景? 14、GIL锁是什么鬼? 15、Python中如何使用线程池和进程池?...35、filter和exclude区别? 36、列举django orm中三种能写sql语句方法。 37、django orm 中如何设置读写分离? 38、F和Q作用?...48、django缓存如何设置? 49、django缓存能使用redis吗?如果可以的话,如何配置? 50、django路由系统中name作用?...Column(String(64), unique=True) ctime = Column(DateTime, default=datetime.now()) 87、SQLAchemy中如何为设置引擎和字符编码...101、git如何实现v1.0 、v2.0 等版本管理? 102、什么是gitlab? 103、github和gitlab区别? 104、如何为github上牛逼开源项目贡献代码?

4.5K20

315道Python面试题,欢迎挑战!

12、select、poll、epoll 模型区别? 13、简述 进程、线程、协程区别 以及应用场景? 14、GIL锁是什么鬼? 15、Python中如何使用线程池和进程池?...35、filter和exclude区别? 36、列举django orm中三种能写sql语句方法。 37、django orm 中如何设置读写分离? 38、F和Q作用?...48、django缓存如何设置? 49、django缓存能使用redis吗?如果可以的话,如何配置? 50、django路由系统中name作用?...Column(String(64), unique=True) ctime = Column(DateTime, default=datetime.now()) 87、SQLAchemy中如何为设置引擎和字符编码...101、git如何实现v1.0 、v2.0 等版本管理? 102、什么是gitlab? 103、github和gitlab区别? 104、如何为github上牛逼开源项目贡献代码?

3.4K30

Web 开发 Django 模型

简介 Django模型是真实数据简单明确描述,它包含了储存数据所必要字段和行为,在创建模型前需要先配置好数据库。...每个模型有一些类变量,它们都表示模型一个数据库字段。 每个字段都是 Field 类实例, CharField 对应数据库中字符串字段。...(迁移是 Django 对于模型定义即你数据库结构变化储存形式)。...image.png 查询数据 Django 提供了多种方式来查询出数据库记录,查询上面 Question 模型对应全部数据,某个id数据以及通过多条件过滤得到所需要数据。...response2 = Question.objects.get(id=1) # 相当于SQL中WHERE id=1,可设置条件过滤 response3 = Question.objects.filter

1.1K10

不吹不擂,你想要Python面试都在这里了【315+道题】

12、select、poll、epoll 模型区别? 13、简述 进程、线程、协程区别 以及应用场景? 14、GIL锁是什么鬼? 15、Python中如何使用线程池和进程池?...35、filter和exclude区别? 36、列举django orm中三种能写sql语句方法。 37、django orm 中如何设置读写分离? 38、F和Q作用?...48、django缓存如何设置? 49、django缓存能使用redis吗?如果可以的话,如何配置? 50、django路由系统中name作用?...Column(String(64), unique=True) ctime = Column(DateTime, default=datetime.now()) 87、SQLAchemy中如何为设置引擎和字符编码...101、git如何实现v1.0 、v2.0 等版本管理? 102、什么是gitlab? 103、github和gitlab区别? 104、如何为github上牛逼开源项目贡献代码?

3.5K40

不吹不擂,你想要Python面试都在这里了【315+道题】

12、select、poll、epoll 模型区别? 13、简述 进程、线程、协程区别 以及应用场景? 14、GIL锁是什么鬼? 15、Python中如何使用线程池和进程池?...35、filter和exclude区别? 36、列举django orm中三种能写sql语句方法。 37、django orm 中如何设置读写分离? 38、F和Q作用?...48、django缓存如何设置? 49、django缓存能使用redis吗?如果可以的话,如何配置? 50、django路由系统中name作用?...Column(String(64), unique=True) ctime = Column(DateTime, default=datetime.now()) 87、SQLAchemy中如何为设置引擎和字符编码...101、git如何实现v1.0 、v2.0 等版本管理? 102、什么是gitlab? 103、github和gitlab区别? 104、如何为github上牛逼开源项目贡献代码?

3.2K30

315道Python面试题,欢迎挑战

12、select、poll、epoll 模型区别? 13、简述 进程、线程、协程区别 以及应用场景? 14、GIL锁是什么鬼? 15、Python中如何使用线程池和进程池?...35、filter和exclude区别? 36、列举django orm中三种能写sql语句方法。 37、django orm 中如何设置读写分离?...48、django缓存如何设置? 49、django缓存能使用redis吗?如果可以的话,如何配置? 50、django路由系统中name作用?...Column(String(64), unique=True) ctime = Column(DateTime, default=datetime.now()) 87、SQLAchemy中如何为设置引擎和字符编码...101、git如何实现v1.0 、v2.0 等版本管理? 102、什么是gitlab? 103、github和gitlab区别? 104、如何为github上牛逼开源项目贡献代码?

2.6K10

如何在Ubuntu 16.04上使用Apache和mod_wsgi为Django应用程序提供服务

然后,我们将在应用程序前设置Apache,以便在将需要应用程序逻辑请求传递给Django应用程序之前,它可以直接处理客户端请求。...-mod-wsgi 相反,如果您使用Django和Python 3,则需要一个替代Apache模块和pip包。...在文件底部,我们将添加一行来配置此目录。Django使用该STATIC_ROOT设置来确定这些文件应该到达目录。...现在,我们可以调整防火墙设置以允许流量到我们Django开发服务器,我们将在端口8000上运行。如果您遵循先决条件初始服务器设置指南,则应该启用UFW防火墙。...自签名证书提供了相同类型加密,但没有域名验证公告。关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。

2.1K11

后端框架学习-Django

模型类-字段选项: 创建列额外信息 primary_key:设置为True,则为主键,此数据库表不会创建id字段 blank:设置为True,则字段可以为空,控制是Admin后台提交,和mysql...verbose_name:设置此字段在admin界面上显示名称,可以中文化admin界面 好习惯:字段选项【添加或更改】均要执行 模型类-Meta内部类 使用Meta类来给**模型(其实就是表属性)...改表名: from django.db import models class 模型类名(models.Model): 字段名 = models.字段类型(字段选项) class Meta...verbose_name_plural = '复数名' Django对于数据库操作是惰性,尽量不对数据库进行积极修改,设置default值将不参与表字段生成,只会参与实际插值。...) 语法:MyModel.objects.filter(属性1=值1,属性2=值2)(,默认是AND查询) 等价于 条件查询 返回值:QuerySet,存放模型实例 exclude(条件

9.3K40

django模型

=True) 如果Django看到你显式地设置了Field.primary_key, 就不会自动添加 id 列 每个模型只能有一个字段指定primary_key=True (无论是显式声明还是自动添加)...(列表或元组),用来给字段提供选择项,如果设置了 choices, 默认表单将是一个选择框,选择框选择就是choices中选项 class Test(model.Model): YEAR_IN_SCHOOL_CHOICES...,可以是一个值或者调用对象 字段选项——primary_key 如果为True,那么这个字段就是模型主键 字段选项——unique 如果该值设置为True,这个字段值在整张表中必须是唯一 模型meta...选项 使用内部class Meta 定义模型元数据,例: from django.db import models class User(models.Model): username...如果有多条记录满足get() 查询条件Django 也将报错。这种情况将引发 MultipleObjectsReturned,它同样是模型类自身一个属性。

3.1K20
领券