我有这样一个模型:
class AccountViewSet(viewsets.ModelViewSet):
"""
A simple ViewSet for viewing and editing accounts.
"""
queryset = Account.objects.all()
serializer_class = AccountSerializer
permission_classes = [IsAccountAdminOrReadOnly]
如何重写get方法,以便在单击/api/accounts/8
时可以在返回第8个帐户之前添加一些代码?
3条答案
按热度按时间fhg3lkii1#
ModelViewSet
有mixins.RetrieveModelMixin
,当你点击/api/accounts/8
时它会调用。你可以从它重写retrieve
方法并做额外的工作。c7rzv4ha2#
您可以覆盖ActionViewSet的检索方法。
wlzqhblo3#
可以覆盖
retrieve
方法。/api/accounts/8
是一个detail API调用,它使用的是retrieve方法。所以,如果你看一下视图集代码,我们可以找到它。
溶液
参考:https://github.com/encode/django-rest-framework/blob/master/rest_framework/viewsets.py