1.generic.py模块提供了:
ListAPIView,
CreateAPIView,
RetrieveAPIView,
UpdateAPIView,
DestroyAPIView,
ListCreateAPIView,
RetrieveUpdateDestroyAPIView,
2. 对比继承了Mixin扩展类的类视图,可以得出结论:继承Mixin扩展类之后的类视图中的get,post,put,delete方法,在generic.py模块中都已经封装有对应的方法,所以无需我们在类视图中再定义,直接继承generic.py模块中的对应父类即可,且这些父类都继承了Mixin的拓展类和GenericAPIView类.
2.1 导入generic.py模块中的各个父类
from rest_framework.generics import GenericAPIView,ListCreateAPIView,RetrieveUpdateDestroyAPIView
2.2 继承父类ListCreateAPIView:
因为继承了ListCreateAPIView类,所以ListCreateAPIView中的get,post方法在子类中就
自动存在了,因此可以注释掉原继承Mixin扩展类的类视图中的get(),post()方法.
2.3 继承父类RetrieveUpdateDestroyAPIView
经测试,优化后的功能正常