2017-05-08 44 views
1

按DRF文件DRF ValidatorsDjango的REST框架 - 传递附加参数validate_foo

我的方法应该是这样

def validate_title(self, value): 
    """ 
    Check that the blog post is about Django. 
    """ 
    if 'django' not in value.lower(): 
     raise serializers.ValidationError("Blog post is not about Django") 
    return value 

我想一个额外的参数传递给validate_title,所以它应该看起来像

这里id是我想调用序列化程序时要传递的一些值。

def validate_title(self, value, id): 
     """ 
     Check that the blog post is about Django. 
     """ 
     # Use <id> here 
     if 'django' not in value.lower(): 
      raise serializers.ValidationError("Blog post is not about Django") 
     return value 

我不能理解如何实现这个,有什么帮助吗?

+0

ID值从哪里来? –

+0

@DanielRoseman更新。 – ofnowhere

+0

仍然不够清楚,无法获得帮助 – Linovia

回答

0

我不确定是否正确理解您的问题。要回答你的问题,我想你想传递额外的参数给validate_ {}方法。您可以始终使用* args和** kwargs将额外参数传递给自定义模型验证方法。然后从上面的参数中提取值,这应该可以帮助您获取参数。

def validate_title(self, *args, **kwargs):