小白IT:Django框架---怎么查表,进行数据库操作,根据页面上操作发生库里的变化--封装sql语句 简化操作数据库---ORM
文章目录
- 一、模型层之ORM
- 1.什么是ORM
- 2.ORM和原生sql语句对比
- python中的模型对象写法
- 3.settings配置数据库
- 配置连接的数据库(Mysql)
- 修改数据库驱动
- 可视化插件
- 二、单表操作
- 1.创建模型
- 2.ORM中的字段和参数
- 常用简单字段
- 更多约束参数
- choices字段约束补充
- 在视图函数中使用
- 时间字段的独有约束
- 3.同步指令
- makemigrations命令
- migrate命令
- 几个注意事项
- 注意点1:配置应用名称
- 注意点2:mysql版本兼容问题
- 注意点3:设置显示对应sql语句
- 注意点4:mysql严格模式设置
- 三、单表操作值添加表记录
- 1.添加单条表记录
- 2.批量添加表记录
- 3.update_or_create方法
- 四、单表操作之查询表(重点)
- 1.常用查询方法
- all()
- filter(**kwargs)
- get(**keargs)
- exclude(**kwargs)
- order_by(*field)
- reverse()
- count()
- first()
- last()
- exists()
- values(*field) ***
- values_list(*field)
- distinct()
- 小结
- 2.基于双下滑线的模糊查询
- filter条件中的模糊查询
- 关于日期查询
- 五、单表操作之删除记录
- 1.两种对象调用delete
- 2.关于联级删除
- 六、单表操作之修改记录
- update()
- 注意
一、模型层之ORM
1.什么是ORM
MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动
ORM是“对象-关系-映射”的简称;(Object Relational Mapping,简称ORM),ORM是Django中的一个模型,能够独立出来使用的有另一个模块sqlalchemy。
ORM本质就是将类对象的语法翻译成sql语句的一个引擎,我们需要掌握的就是如何使用ORM,写类对象关系语句。
- 类对象–>sql–>pymysql–>mysql服务端–>磁盘
2.ORM和原生sql语句对比
mysql中的原生sql语句写法
sql中的表
-- 创建表:
CREATE TABLE employee(id INT PRIMARY KEY auto_increment ,name VARCHAR (20),gender BIT default 1,birthday DATA ,department VARCHAR (20),salary DECIMAL (8,2) unsigned,);-- sql中的表纪录
-- 添加一条表纪录:
INSERT employee (name,gender,birthday,salary,department)VALUES("alex",1,"1985-12-12",8000,"保洁部");
-- 查询一条表纪录:
SELECT * FROM employee WHERE age=24;
-- 更新一条表纪录:
UPDATE employee SET birthday="1989-10-24" WHERE id=1;
-- 删除一条表纪录:
DELETE FROM employee WHERE name="alex"
python中的模型对象写法
from django.db import models
# python的类
class Employee(models.Model):id=models.AutoField(primary_key=True)name=models.CharField(max_length=32)gender=models.BooleanField()birthday=models.DateField()department=models.CharField(max_length=32)salary=models.DecimalField(max_digits=8,decimal_places=2)# python的类对象# 添加一条表纪录:
emp=Employee(name="alex",gender=True,birthday="1985-12-12",epartment="保洁部")
emp.save()# 查询一条表纪录:
Employee.objects.filter(age=24)# 更新一条表纪录:
Employee.objects.filter(id=1).update(birthday="1989-10-24")# 删除一条表纪录:
Employee.objects.filter(name="alex").delete()
3.settings配置数据库
配置连接的数据库(Mysql)
在settings文件找到DATABASES,注释掉默认的配置,添加你需要连接的mysql数据库。
具体配置参考如下;
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', # 指定存储数据库'NAME': 'day057_single_table_lesson', # 指定连接的数据库名'USER': 'root', # 用户名'PASSWORD': '123', # 密码'HOST': 'localhost', # 数据库主机'PORT': 3306, # 数据库端口}
}
修改数据库驱动
在Django中的默认是使用的是自带的db.sqlite3数据库,用户名和密码也是自动创建的,如果我们需要使用mysql数据库,需要先创建mysql数据库,并激活。
然后启动项目,发现会报错no module named MySQLdb 。这是因为django默认你导入的驱动是MySQLdb,可是MySQLdb 对于py3有很大问题,所以我们需要的驱动是PyMySQL,只需要在项目名文件下的__init__总写入:
import pymysql
pymysql.install_as_MySQLdb()
可视化插件
如果我们需要在pycharm中更加直观的查看我们的表结构和表数据,可以在pycharm安装mysql的可视化插件,安装方法如下图,点开后有个download字样,点击安装即可。
配置完这些,就可以愉快的连接mysql数据库玩耍了。
二、单表操作
1.创建模型
在项目下创建一个名为app01的应用;
然后在app01下的models.py中创建模型;
from django.db import models
# Create your models here.class Book(models.Model): # 创建一个book类id = models.AutoField(primary_key=True) # 如果表里面没有写主键,表里面会自动生成一个自增主键字段,叫做id字段,orm要求每个表里面必须要写一个主键title = models.CharField(max_length=32) # 和varchar(32)是一样的,32个字符pub_date = models.DateField() # 必须存这种格式"2018-12-12"price = models.DecimalField(max_digits=8, decimal_places=2) # max_digits最大位数,decimal_places小数部分占多少位author = models.CharField(max_length=20,null=True)
2.ORM中的字段和参数
ORM中的字段和mysql中是对应的,每个字段有一些特有的参数,参数使用来限制字段,常用的字段和参数
常用简单字段
-
charField:字符串字段, 用于较短的字符串.
- CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数.
-
IntegerField:用于保存一个整数.
-
FloatField:一个浮点数.
- 必须提供两个参数:max_digits:总位数(不包括小数点和符号);decimal_places:小数位数;
-
AutoField:一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;
-
booleanField:一个表示真或者假的字段
-
TextField:一个带有检查Email合法性的 CharField,不接受 maxlength 参数.
-
DateField:一个日期字段. 共有下列额外的可选参数:
- 参数:Argument:描述;auto_now:当对象被保存时,自动将该字段的值设置为当前时间.通常用于表示 “last-modified” 时间戳;
-
DateTimeField:一个日期时间字段. 类似 DateField 支持同样的附加选项.
-
ImageField:类似 FileField, 不过要校验上传对象是否是一个合法图片。
- 两个可选参数:height_field和width_field,限制图片的高度和宽度
-
FileField:一个文件上传字段. 要求一个必须有的参数: upload_to, 一个用于保存上载文件的本地文件系统路径。
注意:在一个 model 中使用 FileField 或 ImageField 需要以下步骤:1.在你的settings 文件中, 定义一个完整路径给 MEDIA_ROOT 以便让 Django在此处保存上传文件.(出于性能考虑,这些文件并不保存到数据库.) 定义MEDIA_URL 作为该目录的公共 URL. 要确保该目录对WEB服务器用户帐号是可写的.2.在你的 model 中添加 FileField 或 ImageField, 并确保定义了 upload_to 选项,以告诉 Django使用 MEDIA_ROOT 的哪个子目录保存上传文件.你的数据库中要保存的只是文件的路径(相对于 MEDIA_ROOT).出于习惯你一定很想使用 Django 提供的 get_<#fieldname>_url 函数.举例来说,如果你的 ImageField叫作 mug_shot, 你就可以在模板中以 {{object.#get_mug_shot_url }} 这样的方式得到图像的绝对路径.
-
URLField:用于保存 URL. 若 verify_exists 参数为 True (默认), 给定的 URL 会预先检查是否存在( 即URL是否被有效装入且没有返回404响应)。
-
NullBooleanField: 类似 BooleanField, 不过允许 NULL 作为其中一个选项.。推荐使用这个字段而不要用 BooleanField 加 null=True 选项。
更多约束参数
-
null:指定字段是否可为空,默认是False
-
blank:如果为True,该字段允许不填。默认为False。注意与null的区别,两者的范畴不一致,null是数据库范畴的,而blank是orm中数据验证范畴的。
-
default:字段的默认值。可以是一个值或者可调用对象。如果可调用 ,每有新对象被创建它都会被调用,如果你的字段没有设置可以为空,那么将来如果我们后添加一个字段,这个字段就要给一个default值。
-
primary_key:设置主键,如果为True,那么这个字段就是模型的主键。
-
如果你没有指定任何一个字段的primary_key=True,Django 就会自动添加一个IntegerField字段做为主键,所以除非你想覆盖默认的主键行为,否则没必要设置任何一个字段的primary_key=True。
-
unique:如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的
-
choices:由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。
如果设置了choices ,默认的表单将是一个选择框而不是标准的文本框,而且这个选择框的选项就是choices 中的选项。
-
db_index:如果db_index=True 则代表着为此字段设置数据库索引。
choices字段约束补充
当我们使用choices字段时,是通过元组的形式来指定选择框的提交值和展示值。
如models中定义一个类
class Student(models.Model):name = models.CharField(max_length=12,null=True)sex_choice = ((1,'男'),(2,'女'),) # 1,2是提交后台的值,男,女是展示给用户看的值sex = models.IntegerField(choices=sex_choice,)
在视图函数中使用
def test(request):stu_obj = models.Student.objects.get(name='selfge') # 获取一个学生对象print(stu_obj .sex) # 1,直接查看数据库中学生的性别是1print(stu_obj .get_sex_display()) # 男,通过这个方法可以查到对应的显示文本,方便前端展示数据print(stu_obj .name) # selfgereturn render(request,'testchoice.html',{'stu_obj ':stu_obj })
模板文件中显示
<p>性别:{{ new_obj.get_sex_display }} </p> <!--没有参数的方法,可以使用万能的句点号调用,展示学生的性别-->
时间字段的独有约束
对于DatetimeField、DateField、TimeField这个三个时间字段,都可以设置如下属性
- auto_now_add:配置auto_now_add=True,创建数据记录的时候会把当前时间添加到数据库。
- auto_now:配置上auto_now=True,每次更新数据记录的时候会更新该字段,标识这条记录最后一次的修改时间。
3.同步指令
写完models中的代码后,需要通过两条数据库迁移指令在指定的数据库中创建表。
makemigrations命令
python manage.py makemigrations # 生成记录,每次修改了models里面的内容或者添加了新的app,新的app里面写了models里面的内容,都要执行这两条
makemigrations命令用来将models中的创建代码语句提交到migrations文件中生成对应的脚本文件,第一次提交会生成一个名为0001_initial.py的初始化文件,之后的每一次更新执行makemigrations命令都会将更新的操作更新到一个新的文件中,如0002_book_author.py。
migrate命令
python manage.py migrate #执行上面这个语句的记录来创建表,生成的表名字前面会自带应用的名字,例如:你的book表在mysql里面叫做app01_book表
migrate命令会翻译migrations中文件的语句,然后连接到数据库,执行对应的sql语句创建表;
注意:每一次执行migrations中的文件时,都会在django_migrations表中记录,当我们再次执行migrate命令,Django会查看这个记录表,如果发现执行的命令在记录中存在,说明该命令已经被执行过了,不会再被执行。
所以当我们需要重新初始化数据库中的表结构,不仅仅需要删除表名,还需要删除django_migrations中对应的执行记录。
另外我们可以通过pycharm的功能来执行manage.py相关指令。
执行这里,我们会调到Django环境的命令行,在里面直接运行makemigrations和migrate命令就行。
几个注意事项
注意点1:配置应用名称
确保配置文件中的INSTALLED_APPS中写入我们创建的app名称
INSTALLED_APPS = ['django.contrib.admin', # 这是django提供的一些特殊功能的配置(应用,只是咱们看不到),执行同步指令,django会到这里来找到应用的models创建各个应用的表'django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',"book" # 直接写app的名字也行,写'app01.apps.App01Config'也行
]
注意点2:mysql版本兼容问题
如果报如下错误
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None
MySQLclient目前只支持到python3.4,因此如果使用的更高版本的python,需要修改如下:
通过查找路径C:\Programs\Python\Python36-32\Lib\site-packages\Django-2.0-py3.6.egg\django\db\backends\mysql,这个路径里的文件把下面代码注释掉就OK了。
if version < (1, 3, 3):raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
注意点3:设置显示对应sql语句
如果想打印orm转换过程中执行的对应sql语句,需要在settings中进行如下配置:
LOGGING = {'version': 1,'disable_existing_loggers': False,'handlers': {'console':{'level':'DEBUG','class':'logging.StreamHandler',},},'loggers': {'django.db.backends': {'handlers': ['console'],'propagate': True,'level':'DEBUG',},}
}
另一种查看orm代码对应的sql语句方式
from app01 import modelsdef add_book(request):'''添加表记录:param request: http请求信息:return:'''book_obj = models.Book(title='python',price=123,pub_date='2012-12-12',publish='人民出版社')book_obj.save()from django.db import connection # 通过这种方式也能查看执行的sql语句print(connection.queries)return HttpResponse('ok')
注意点4:mysql严格模式设置
mysql严格模式可以严格控制输入数据库数据的安全性,我们知道在mysql客户端设置严格模式只需要在mysql环境中执行
select @@sql_mode; --查看当前mysql的模式set sql_mode="STRICT_TRANS_TABLES" --设置mysql为严格模式,暂时性的。
那么在Django中如何设置mysql的严格模式呢,其实也很简单,只需要在settings配置数据库为mysql的配置中加上一条选项数据就可以了。
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': "book_manage1","HOST":"127.0.0.1","PORT":3306,"USER":"root","PASSWORD":"123","OPTIONS":{"init_command":"set sql_mode='STRICT_TRANS_TABLES'",} # 设置mysql为严格模式}
}
三、单表操作值添加表记录
在python中orm的对应关系有三种:
- 类 ---------->表
- 类对象 ---------->行(记录)
- 类属性 ---------->表的字段(重点)
首先想操作表的增删改查,你需要导入这个表,定义对应函数,通过url访问执行这个函数,如这个例子中我们定义operate函数
# urls.py文件
urlpatterns = [url(r'^operate/', views.operate),
]# views.py文件
def operate(request):"""这里写相关对表的操作"""# 如添加、删除、修改、查询代码
1.添加单条表记录
方式一:用的少
book_boj = models.Book(title="红楼梦",pub_date="2012-12-12",price=500,author="曹雪芹") # pub_date=datetime.date.today()这种方式设置时间数据也可以。
# 实例化一个对象表示一行记录
book_boj.save() # 这个命令就是执行pymysql中的commit命令
方式二:用的多
book_obj = models.Book.objects.create(title="蝶恋花",pub_date="1856-12-6",price=200,author="晏殊")
# create方法的返回值book_obj就是插入book表中的蝶恋花这本书籍纪录对象
# Book.objects就像book表的管理器,提供了增删改查的所有方法
2.批量添加表记录
使用bulk_create方法批量添加列表中的对象
import random# 方式3:批量插入book_list = []for i in range(10):bk_obj = models.Book(title='枉凝眉%s'%i,pub_date='1846-7-2%s'%(random.randint(0,9)),price=random.randint(80,200),author="一只熊%s"%i)book_list.append(bk_obj)models.Book.objects.bulk_create(book_list) # 使用bulk_create方法批量添加数据,效率比for循环添加高
3.update_or_create方法
update_or_create方法,有就更新,没有就创建
obj, created = models.Book.objects.update_or_create(id=3, # 查找筛选条件defaults={ # 更新或添加的数据,有就更新,没有就添加"title": "红楼梦(下)","pub_date": "1826-10-8","price": 250,}
)
执行所有插入语句后的表结构如下
mysql> select * from app01_book;
+----+--------------------+------------+--------+------------+
| id | title | pub_date | price | author |
+----+--------------------+------------+--------+------------+
| 1 | 红楼梦 | 2012-12-12 | 500.00 | 曹雪芹 |
| 2 | 蝶恋花 | 1856-12-06 | 200.00 | 晏殊 |
| 3 | 红楼梦(下) | 1826-10-08 | 250.00 | 曹雪芹 |
| 4 | 蝶恋花 | 1856-12-06 | 200.00 | 晏殊 |
| 5 | 枉凝眉0 | 1846-07-29 | 124.00 | 一只熊0 |
| 6 | 枉凝眉1 | 1846-07-21 | 147.00 | 一只熊1 |
| 7 | 枉凝眉2 | 1846-07-23 | 127.00 | 一只熊2 |
| 8 | 枉凝眉3 | 1846-07-29 | 92.00 | 一只熊3 |
| 9 | 枉凝眉4 | 1846-07-22 | 187.00 | 一只熊4 |
| 10 | 枉凝眉5 | 1846-07-29 | 142.00 | 一只熊5 |
| 11 | 枉凝眉6 | 1846-07-21 | 132.00 | 一只熊6 |
| 12 | 枉凝眉7 | 1846-07-25 | 191.00 | 一只熊7 |
| 13 | 枉凝眉8 | 1846-07-28 | 188.00 | 一只熊8 |
| 14 | 枉凝眉9 | 1846-07-22 | 141.00 | 一只熊9 |
+----+--------------------+------------+--------+------------+
14 rows in set (0.00 sec)
四、单表操作之查询表(重点)
model中的表类有一个objects属性,这个objects就好像一个管理器,提供了所有的增删改查方法,下面是常用的查询方法。
注意:model对象和queryset对象区别
- model对象就是表中某一行数据对应的数据模型
- queryset类型是django中的数据类型,里面存放了model对象,可以为空
1.常用查询方法
all()
查询所有的对象结果,返回一个queryset类型,包含所有的model对象
bk_obj = models.Book.objects.all() # 查询所有结果
print(bk_obj)
# <QuerySet [<Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>, <Book: Book object>]>
注意:如果想显示时,显示特定的特征字段,便于查看,可以在book类中定义__str__
方法。
def __str__(self):return str(self.id) +"." + self.title
filter(**kwargs)
查询满足筛选条件的model对象结果,返回一个queryset类型。
有多个条件使用逗号分隔,条件之间是and的关系,这里无法实现or的关系
bk_obj = models.Book.objects.filter(title="红楼梦",price=500)print(bk_obj)
# <QuerySet [<Book: 1.红楼梦>]>
get(**keargs)
查询满足筛选条件的model对象,返回model对像,也就是行记录
注意:
- get的查询结果有且只有一个。
- 多余一个报错:get() returned more than one Book – it returned 3!
- 没有也报错:Book matching query does not exist.
bk_obj = models.Book.objects.get(title="枉凝眉1")
print(bk_obj) # 6.枉凝眉1,这里返回的是model对象,行记录
exclude(**kwargs)
查询排除了满足筛选条件的所有结果对象,返回一个queryset类型
参数可以为多个,排除满足任意筛选条件的对象
bk_obj = models.Book.objects.exclude(title="蝶恋花",price=127)
print(bk_obj)
# <QuerySet [<Book: 1.红楼梦>, <Book: 2.蝶恋花>, <Book: 3.红楼梦(下)>, <Book: 4.蝶恋花>, <Book: 5.枉凝眉0>, <Book: 6.枉凝眉1>, <Book: 7.枉凝眉2>, <Book: 8.枉凝眉3>, <Book: 9.枉凝眉4>, <Book: 10.枉凝眉5>, <Book: 11.枉凝眉6>, <Book: 12.枉凝眉7>, <Book: 13.枉凝眉8>, <Book: 14.枉凝眉9>]>
order_by(*field)
由queryset类型的对象来调用,对查询的结果排序,默认按照id的升序,返回仍是queryset类型。
排序默认是升序,如果需要降序,在字段前面添加"-"即可。
bk_obj = models.Book.objects.filter(author="曹雪芹").order_by("-id","price") # 查询作者为“曹雪芹”的书籍,按照id的降序,价格的升序排列
print(bk_obj)
# <QuerySet [<Book: 3.红楼梦(下)>, <Book: 1.红楼梦>]>
reverse()
只能有order_by查询返回的queryset类型对象调用,对查询的结果反转。
bk_obj = models.Book.objects.filter(author="曹雪芹").order_by("-id","price").reverse()
print(bk_obj)
# <QuerySet [<Book: 1.红楼梦>, <Book: 3.红楼梦(下)>]>
count()
由queryset类型的数据来调用,返回数据库中匹配查询(QuerySet)的对象数量。
bk_obj = models.Book.objects.filter(author="曹雪芹").count()
print(bk_obj) # 2
first()
由queryset类型的数据来调用,返回第一个model对象,也就是第一条记录。等效于索引取值[0]
bk_obj = models.Book.objects.filter(author="曹雪芹").first()
print(bk_obj) # 1.红楼梦 等效于取索引[0]
last()
由queryset类型的数据来调用,返回最后一条记录
exists()
由queryset类型的数据来调用,如果QuerySet包含数据,就返回True,否则返回False
bk_obj = models.Book.objects.filter(author="曹雪芹").exists()
print(bk_obj) # True
注意exists与直接对结果判断的区别
- exists是取查询结果的第一条来判断是否有值,效率高
- 直接判断结果,会遍历所有查询结果,效率低
values(*field) ***
较常用,由queryset类型的对象来调用,返回一个ValueQuerySet对象,一个特殊的queryset,结果是一个可迭代的列表嵌套字典序列
只要是返回queryset类型的对象,就可以继续链式调用queryset对象的其他查找方法。
bk_obj = models.Book.objects.filter(author="曹雪芹").values("id","title")
print(bk_obj)
# <QuerySet [{'id': 1, 'title': '红楼梦'}, {'id': 3, 'title': '红楼梦(下)'}]>
values_list(*field)
与values()非常相似,只不过values_list返回的是一个列表嵌套元组序列,values返回列表嵌套字典序列
bk_obj = models.Book.objects.filter(author="曹雪芹").values_list("id", "title")
print(bk_obj)
# <QuerySet [(1, '红楼梦'), (3, '红楼梦(下)')]>
distinct()
对values()和values_list()方法得到的queryset类型数据去重。
注意:
如果表中没有主键,django也会默认生成id为主键,所以我们直接对所有查询结果去重是毫无意义的。
all_books = models.Book.objects.all().distinct() # 不会有重复项
使用方法
bk_obj = models.Book.objects.all().values_list("title","price").distinct() # title和price两个同时重复才算一条重复的记录
print(bk_obj) # 结果中蝶恋花被去重了
小结
只有get、first、last方法拿到的是一个model对象,其他方法拿到的都是queryset类型。
2.基于双下滑线的模糊查询
filter条件中的模糊查询
使用双下划线对条件中的字段进行条件约束
语法:字段名__模糊条件
models.Book.objects.filter(price__in=[250,500]) # price值等于这三个里面的任意一个的对象
models.Book.objects.filter(price__gt=100) # bigthan,大于,大于等于是price__gte=100,别写price>100,这种参数不支持
models.Book.objects.filter(price__lt=100) # smallthan,小于
models.Book.objects.filter(price__range=[100,200]) # sql的between and,大于等于100,小于等于200
models.Book.objects.filter(title__contains="红楼") # title值中包含“红楼”字样
models.Book.objects.filter(title__icontains="python") # 不区分大小写
models.Book.objects.filter(title__startswith="红") # 以什么开头;istartswith,不区分大小写
models.Book.objects.filter(pub_date__year=2012) # 日期数据年份是2012的
关于日期查询
models.Book.objects.filter(pub_date__year=2012) # 年份为2012
models.Book.objects.filter(pub_date__year__gt=2012) # 年份大于2012
models.Book.objects.filter(pub_date__year=2019, pub_date__month=2) # 年份为2019,月份为2月
五、单表操作之删除记录
python中删除一条记录的方法是delete(),而删除记录的调用者可以是一个model对象,也可以是一个queryset集合。
delete运行时会立即删除对象,没有任何返回值。
1.两种对象调用delete
1.model对象调用删除方法,会删除单个model对象
bk_obj = models.Book.objects.get(id=14) # 找到model对象
bk_obj.delete()
print(bk_obj) # <QuerySet []>
2.queryset类型调用删除方法,可以一次删除queryset中的所有对象
bk_obj = models.Book.objects.filter(id__in=[13,14])
bk_obj.delete()
print(bk_obj) # <QuerySet []>
2.关于联级删除
如果涉及到外键,django中的外键会默认设置联级关系,on delete cascade;也就是说删除一个对象会删除与它相关的外键对象。
obj = models.Book.objects.get(pk=1)
# This will delete the Blog and all of its Entry objects.
obj.delete()
delete() 方法是 QuerySet 上的方法,但并不适用于 Manager 本身。这是一种保护机制,是为了避免意外地调用 Entry.objects.delete() 方法导致 所有的 记录被误删除。
如果你确认要删除所有的对象,那么你必须显式地调用;
Entry.objects.all().delete()
如果不想联级删除,可以在settings中设置
pubHouse = models.ForeignKey(to='Publisher', on_delete=models.SET_NULL, blank=True, null=True)
六、单表操作之修改记录
update()
models中修改表记录使用update方法;
update方法只能由queryset类型的对象调用,意思是你可以同时更新多条记录,update方法会返回一个整型数值,表示收到影响的记录条数。
bk_obj= models.Book.objects.filter(title__startswith="蝶恋").update(price=150) # 更新所有名字以“蝶恋”开头的数据价格为150
print(bk_obj) # 2
注意
type = “date” 的input标签,value的值必须是’Y-m-d’的格式,这个标签才能认识并被赋值,所以,要通过date过滤给它改变格式。
<input type="date" class="form-control" id="book_pub_date" placeholder="出版日期" name="book_pub_date" value="{{ edit_obj.pub_date|date:'Y-m-d' }}">
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 测试开发工程师技能图谱及成长路径-2019年版
技能图谱成长路线...
2024/4/24 8:52:29 - System.Data.SQLite中的sql command可以用参数
SQLite中执行sql可以用参数化,这样可以避免sql语句超长和处理特殊字符。参数名用@开头。SQLiteCommand cmd = new SQLiteCommand(strSql, con); 然后用cmd.Parameters.Add("@参数名", DbType.String);cmd.Parameters["@参数名"].Value = strValue;...
2024/4/24 8:52:32 - centos7 mailx邮件报警
首先安装mailx [root@node-6 ~]# yum -y install mailx然后配置mail.rc再最后面添加 set from=自己的@qq.com set smtp=smtp.qq.com set smtp-auth-user=QQ号@qq.com set smtp-auth-password=这里写授权码 (按照下面获取就可以) set smtp-auth=login用法 [root@node-6 ~]# ec…...
2024/4/24 8:52:25 - K8S安装(六) kube-proxy组件安装
Kube-Proxy简述参考文献:https://ywnz.com/linuxyffq/2530.html运行在每个节点上,监听 API Server 中服务对象的变化,再通过管理 IPtables 来实现网络的转发 Kube-Proxy 目前支持三种模式:UserSpacek8s v1.2 后就已经淘汰IPtables目前默认方式IPVS--推荐,支持7层需要安装i…...
2024/4/24 8:52:23 - 【解决】SX1308无法升压、升压后接上负载电压就被拉低解决办法
一、无法升压?SX1308 能不能正常升压,很大原因取决你的PCB布线!!!我前面画了3次板,都无法正常升压,后面将这些器件经可能放在一起,按照稳定 电容 和器件引脚靠近,SW靠近电感、二极管,布线加粗,铺铜 后 打出来的板子就可以正常升压了!二、升压后接上负载电压就被拉…...
2024/4/26 20:03:37 - 中文乱码解决
https://blog.51cto.com/hsj69106/595598...
2024/4/24 8:52:22 - 【学习笔记】C++ GUI Qt4 第一章
文章目录第一章 Qt入门1.1 Hello Qt1.2 建立连接1.3 窗口部件的布局 开发环境: Windows10 Qt5.6.3 Qt Createor VS2013 第一章 Qt入门 1.1 Hello Qt #include "mainwindow.h" #include <QApplication> #include <QLabel>int main(int argc, char *argv[…...
2024/4/24 8:52:24 - 查看pytorch对应的cuda版本
进入python编译环境, 输入import torch 回车, 再输入:print(torch.version.cuda)。...
2024/4/24 8:52:20 - 功能测试是什么?性能测试是什么?两者有什么区别?
功能测试性能测试两者区别.txt功能测试是什么?性能测试是什么?两者有什么区别? 什么是功能测试 什么是性能测试 两者之间的区别什么是功能测试 功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测…...
2024/4/23 11:24:36 - ASCII码表
一般认为128个就行,虽然总共256个 ASCII码表...
2024/4/24 8:52:17 - MySQL中汉字占多少字节?varchar(x)中的x如何理解?
这几天在写接口校验,碰到个有意思的事,前端开发人员问我某个字段的长度控制在多少?我查了查数据库,发现是varchar(100),于是就说数据库字段限制100,汉字咱们限制50吧。每个汉字占2个字节,100/2=50,看起来没什么问题。这时旁边另一个开发说不对,有的偏僻字占3个字节。。…...
2024/4/24 8:52:17 - python学习笔记(2)
numpy使用(常见函数的使用) import numpy as np x = np.ones((5, 5)) # print(x) x[1:-1, 1:-1] = 8 # 对矩阵元素位置的表示y = np.full((10, 10), 1) # 据说拓展性好x = np.array([[1,2,3], [4,5,6]], dtype = float) np.full_like(x, 4) #”象“单位矩阵创建 np.identi…...
2024/4/24 8:52:16 - 彻底弄清楚C++ static 静态成员与静态成员函数的原理
参考mooc魏英《C++程序设计》 文字是魏老师的讲解,纯手打,ppt上没有。 为什么会用到静态成员:现在大型应用程序都是由多个程序员所开发的,那么多个程序员就需要使用一个共同都能使用的数据来解决一些问题,采用静态数据成员解决这一问题。思考一下现在我们需要统计员工的总…...
2024/4/24 8:52:21 - Python函数以及参数类型
什么是函数?函数(function)是用于完成特定任务的程序代码的自包含单元。在面向对象编程的类中,函数通常被称作方法。为什么要使用函数呢? 第一、函数的使用可以重用代码,省去重复性代码的编写,提高代码的重复利用率。如果程序中需要多次使用某种特定的功能,那么只需要编…...
2024/4/24 8:52:19 - 实验六 进程调度
优先数算法 #include <iostream> #include <windows.h> #include <bits/stdc++.h> using namespace std;struct pcb {char name[2];int cputime;int needtime;int priority;char state; }p[5];int main() {char s[5][4];int num=60,i,j,t,w;int pri;printf(&…...
2024/4/16 13:38:52 - create-react-app不是内部或外部命令,也不是可运行的程序?
create-react-app不是内部或外部命令,也不是可运行的程序?最近在自己研究react,构建项目遇到的第一个问题就是搭建脚手架时,命令行报错: ‘create-react-app’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。##复述问题npm install -g create-react-app;create-r…...
2024/4/18 11:16:50 - Docker简介以及常用命令
Docker的8个使用场景简化配置 虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件, 系统), Docker在降低额外开销的情况下提供了同样的功能。它能让你将运行环境和配置放在代码汇总然后部署,同一个Docker的配置可以在不同的环境中使用,这样就降低了硬件要求…...
2024/4/16 13:38:32 - LeetCodeEasy-【面试题60. n个骰子的点数】*
把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。示例 1: 输入: 1 输出: [0.16667,0.16667,0.16667,0.16667,0.16667…...
2024/4/19 20:40:18 - Linux基础知识篇二
文章目录 一、Linux的文件系统1.1 Linux的五种文件类型1.2 Linux的目录结构1.3 inode结点(索引结点)1.4 硬链接和软连接1.5 RAID 二、Linux的文件管理命令1. cat 命令2. chmod 命令3. chown 命令4. cp 命令5. find 命令6. head 命令7. less 命令8. more 命令9. ln 命令10. lo…...
2024/4/24 8:52:17 - P和NP问题
一、背景 2000 年,美国克莱数学研究所公布了世界七大数学难题,又称千禧年大奖难题,规定对每一难题的破解者颁发一百万美元的奖金。其中 P 与 NP 问题被列为这七大数学难题之首,P与 NP 问题被列为七大世界数学难题之首。 NP 问题是随着计算复杂性理论的产生而出现的. 根据计…...
2024/4/24 8:52:11
最新文章
- 基于FPGA的数字信号处理(3)--什么是浮点数?
科学计数法 你可能不了解「浮点数」,但你一定了解「科学记数法」。 10进制科学记数法把一个数表示成a与10的n次幂相乘的形式(1≤|a|<10,a不为分数形式,n为整数),例如: 19970000000000 1.9…...
2024/4/30 16:21:32 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 深入理解springboot
第五章 访问数据库 1.配置数据源 在applicaiton.properties中 spring.datasource.urljdbc:mysql://localhost:3306/chapter5 第九章 springmvc 1.总体流程 http请求发送给控制器,控制器与业务层交互,业务层使用noSQL缓存,业务层与数据访问层…...
2024/4/30 15:25:26 - Windows Server 2022 使用ApacheDS用户远程桌面登录服务器
Windows Server 2022 使用ApacheDS用户远程桌面登录服务器 1、接上篇 Windows Server 2022 使用ApacheDS用户认证 使用Administrator用户远程登录192.168.1.100windows server,打开pGina软件 2、输入刚刚在ApacheDS中的新添加的用户测试一下,会自动添加…...
2024/4/30 10:00:47 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/29 23:16:47 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/29 6:03:24 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/29 14:21:50 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/30 9:43:22 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57