我们如何在DRF中获取模型实例而不是模型pk

时间:2016-11-17 09:28:40

标签: django django-rest-framework

我想从django-rest-framework (DRF) api中的记录中获取一个模型实例。

默认情况下,我们可以通过特定的pk

获取模型实例
/api/animal/1/

但是我们如何才能获得另一个模型属性的实例,假设animal模型可能具有herd_id属性?

我正在使用此视图来处理这个问题。

class AnimalViewSet(viewsets.ModelViewSet):
    """
    This viewset automatically provides `list`, `create`, `retrieve`,
    `update` and `destroy` actions.
    """
    queryset = Animal.objects.all()
    serializer_class = AnimalSerializer

1 个答案:

答案 0 :(得分:3)

您需要在班级上设置lookup_field属性。

class AnimalViewSet(viewsets.ModelViewSet):
    ...
    lookup_field = 'herd_id'

请参阅the documentation