当我在序列化程序的perform_validation方法中时,如何获取id属性

时间:2014-02-03 23:48:06

标签: django-rest-framework

当我进入给定序列化程序的perform_validation方法时,我需要访问我所请求的模型的“id”(在我的RetrieveUpdateDestroy端点)

def perform_validation(self, attrs):
    name = attrs['name']
    guid = attrs['id'] #broken :(

当我进入验证方法时,获得此功能的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

使用通用视图提供的序列化程序上下文。

请参阅此处,了解默认情况下填充的上下文:https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/generics.py#L83

您应该可以执行以下操作:self.context['view'].kwargs['pk']