Bry*_*son 4 python django django-rest-framework
我有一个继承自django rest框架序列化程序的序列化程序ModelSerializer。
要覆盖create方法,我可以重新定义create。为了重新定义更新方法,我重新定义了update。我正在浏览代码,但找不到覆盖删除的方法。我需要在序列化程序中执行此操作,以便可以抓住删除的用户。
任何想法将不胜感激!
我认为你可以做到这一点,但在视图级别。
因此,如果您使用 ModelViewsets,您可以覆盖destory 方法 或perform_destroy添加您的业务逻辑。
如果您使用的是ModelViewSet,则可以在视图中进行操作:
class YourViewSetClass(ModelViewSet):
def destroy(self, request, *args, **kwargs):
user = request.user # deleting user
# you custom logic #
return super(YourViewSetClass, self).destroy(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
destroy方法非常简单(仅是对instance.delete()的调用),因此未将操作委派给序列化程序。DRF中的序列化器用于与数据库模型进行外部表示协商。在这里,您只想删除一个模型。
| 归档时间: |
|
| 查看次数: |
5597 次 |
| 最近记录: |