【问题标题】:How do I get the current pk that is being accessed?如何获取正在访问的当前 pk?
【发布时间】:2016-06-07 21:10:45
【问题描述】:

所以我正在尝试发出 GET 请求以获取来自学校的学生。我有一个嵌套的视图集。例如,我正在尝试获取网站/学校/1/学生。所以我需要得到 PK,在这种情况下将是 1 而没有硬编码 1,因为我的数据库中有超过 1 所学校。我根据学校 ID 将学校附属于学生。例如,pk =1 的学校 ID 为 4289。

class SchoolStudentsViewSet(viewsets.ReadOnlyModelViewSet):
    """
    List all the students from a specific school.
    """

    queryset = Student.objects.filter(school_id=pk.id, name='School of Edumacation')
    serializer_class = StudentSerializer

【问题讨论】:

    标签: django django-views django-rest-framework


    【解决方案1】:

    成功了!

    class SchoolStudentsViewSet(viewsets.ViewSet):
    """
    List all the students from a specific school.
    """
    def list(self, request, school_pk=None, **kwargs):
    
        queryset = Student.objects.filter(school__pk=school_pk)
        serializer = StudentSerializer(queryset, many=True, context={'request': request})
        return Response(serializer.data)
    

    【讨论】:

      猜你喜欢
      • 2011-07-21
      • 1970-01-01
      • 2014-10-04
      • 2011-01-18
      • 2014-06-13
      • 2017-02-23
      • 2012-06-15
      • 1970-01-01
      相关资源
      最近更新 更多