我正在使用Django Rest Framework和Angular来构建应用程序。我为我的模型创建了Serializers和ModelViewSet类,我想通过Angular在前端访问它们。
目前一切正常,但我希望功能超越基本操作。
现在,我只能从我的前端服务执行CRUD查询。但是,我想创建一个“最新”或更具体的功能。
最好,我希望后端模型与其对应的Angular资源进行通信。
提前致谢!
答案 0 :(得分:1)
您只需在Django视图集中定义自定义端点。
class AccountViewSet(viewsets.ModelViewSet):
"""
A simple ViewSet for viewing and editing the accounts
associated with the user.
"""
serializer_class = AccountSerializer
permission_classes = [IsAccountAdminOrReadOnly]
@list_route(methods=['get'])
def get_most_recent(self):
<get the most recent account code here>
return Request(data, status=200)
然后在您的角度代码中,您只需向正确的端点发出请求......类似于http://yoururl.com/accounts/get_most_recent
。您可以通过定义您希望在方法数组中接受哪些动词来使用任何REST动词(GET,POST ...)执行此操作。
文档在这里:http://www.django-rest-framework.org/api-guide/viewsets/#modelviewset