如何在序列化程序创建方法中获取 URL Id?

Pro*_*eus 2 python django django-rest-framework

我有以下网址:

          url(r'^member/(?P<member_id>\d+_([\w-]+){22})/join/?$', views.ActivityJoinView.as_view(),
                       name='member_join'),
Run Code Online (Sandbox Code Playgroud)

在我的 DRF 序列化程序create方法中,我需要访问member_id.

我试过这个:

class JoinListSerializer(serializers.ModelSerializer):

    class Meta:
        model = Join
        fields = ("id", )


    def create(self, validated_data):
        print(self.context['request'].query_params)
Run Code Online (Sandbox Code Playgroud)

我也试过 validated_data.get('member_id', None)

但仍然得到银行/无!如何member_id进入我的 create 方法?

sth*_*hzg 9

在您的create方法中,您应该能够访问传递给呈现端点的视图的参数

self.context['view'].kwargs.get('member_id')
Run Code Online (Sandbox Code Playgroud)