我有一个继承自 django rest framework 序列化器 ModelSerializer
的序列化器。
要覆盖创建方法,我可以重新定义create
。为了重新定义更新方法,我重新定义了update
。我正在查看代码,但找不到覆盖删除的方法。我需要在序列化程序中执行此操作,以便抓取正在删除的用户。
如有任何想法,我们将不胜感激!
最佳答案
如果您使用的是 ModelViewSet,则可以在 View 中执行此操作:
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)
destroy 方法非常简单(只是对 instance.delete() 的调用),操作没有委托(delegate)给序列化程序。 DRF 中的序列化程序用于与数据库模型协商外部表示。在这里您只想删除一个模型。
关于python - 覆盖 Django RF 中的序列化程序删除方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44209878/