我有一个序列化器,它继承自django rest框架序列化器ModelSerializer
。在Django中重写串行器的删除方法RF
要覆盖create方法,我可以重新定义create
。要重新定义更新方法,我重新定义了update
。我正在查看代码,但无法找到覆盖删除的方法。我需要在序列化程序中这样做,以便我可以抓取删除用户。
任何想法,将不胜感激!
我有一个序列化器,它继承自django rest框架序列化器ModelSerializer
。在Django中重写串行器的删除方法RF
要覆盖create方法,我可以重新定义create
。要重新定义更新方法,我重新定义了update
。我正在查看代码,但无法找到覆盖删除的方法。我需要在序列化程序中这样做,以便我可以抓取删除用户。
任何想法,将不胜感激!
如果您使用的是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)
的销毁方法是如此简单(只需要打一个电话到instance.delete()),该行动没有下放到序列化程序。 DRF中的序列化程序用于与数据库模型协商外部表示。在这里你只需要删除一个模型。
我认为你可以做到这一点,但在视图的水平。
因此,如果您使用ModelViewsets,则可以覆盖destory method或perform_destroy
并添加业务逻辑。
啊完美,正是我所需要的! –