有外键存在时,可以很好的减少数据库请求的次数,提高性能 select_related通过多表join关联查询,一次性获得所有数据,只执行一次SQL查询prefetch_related分别查询每个表,然后根据它们之间的关系进行处理,执行两次查询
回答于 2022-09-08 13:50
#bulk_create() objs=[models.Book(title="图书{}".format(i+15)) for i in range(100)] models.Book.objects.bulk_create(objs)
回答于 2022-09-08 13:49
1.wsgi,请求封装后交给web框架 (Flask、Django) 2.中间件,对请求进行校验或在请求对象中添加其他相关数据,例如:csrf、request.session - 3.路由匹配 根据浏览器发送的不同url去匹配不同的视图函数 4.视图函数,在视图函数中进行业务逻辑的处理,可能涉及到:orm、templates => 渲染 - 5.中间件,对响应的数据进...
回答于 2022-09-07 15:48
FBV和CBV本质是一样的 基于函数的视图叫做FBV,基于类的视图叫做CBV 在python中使用CBV的优点: 1.提高了代码的复用性,可以使用面向对象的技术,比如Mixin(多继承) 2.可以用不同的函数针对不同的HTTP方法处理,而不是通过很多if判断,提高代码可读性
回答于 2022-09-07 15:48
引入method_decorator模块 (1.直接在类上加装饰器 @method_decorator(test,name='dispatch') class Loginview(View): pass (2.直接在处理的函数前加装饰器 @method_decorator(test) def post(self,request,*args,**kwargs): pass
回答于 2022-09-07 15:47
MVC软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) Model:负责业务对象与数据库的映射(ORM) View:负责与用户的交互 Control:接受用户的输入调用模型和视图完成用户的请求 Django框架的MTV设计模式借鉴了MVC框架的思想,三部分为:Model、Template和View Model(模型):负责业务对象与数据库...
回答于 2022-09-07 15:47