Python 从第三方API获取数据-Django中的单一责任原则

Python 从第三方API获取数据-Django中的单一责任原则,python,django,django-rest-framework,Python,Django,Django Rest Framework,如果我想忠实于单一责任原则,从外部API获取数据的最优雅的方法是什么?具体应该在哪里/什么时候制作 假设我有一个POST/foo端点,该端点在被调用后会以某种方式触发对外部API的调用,并在本地数据库中从中获取/保存一些数据。 我应该在视图中添加调用吗?或者模型?我通常会将任何外部API调用添加到专用的服务.py模块中(与您计划将结果保存到或公共应用程序中的模型.py的级别相同,如果现有的任何模块在逻辑上不相关) 在该模块中,您可以使用名为smth的类,如MyExtarnalService,并添

如果我想忠实于单一责任原则,从外部API获取数据的最优雅的方法是什么?具体应该在哪里/什么时候制作

假设我有一个
POST/foo
端点,该端点在被调用后会以某种方式触发对外部API的调用,并在本地数据库中从中获取/保存一些数据。
我应该在视图中添加调用吗?或者模型?

我通常会将任何外部API调用添加到专用的
服务.py
模块中(与您计划将结果保存到或
公共
应用程序中的
模型.py
的级别相同,如果现有的任何模块在逻辑上不相关)

在该模块中,您可以使用名为smth的类,如
MyExtarnalService
,并添加获取、发布、删除等所需的所有方法,就像使用drf api视图一样

还记得通过定义自定义错误异常类来正确处理异常(超时、连接错误、错误响应代码)