rest framework之序列化基本使用
QuerySet是django里面的数据类型,所以要转化为list类型,才能使用json.dumps方法
json.dumps作用是:将序列化后的数据结果,展示在页面上
因为前面的变量定义的是rls,所以自定义的方法为get_rls
上面的UserInfo为模型类名
rest framework框架之序列化 深度控制
depth的值,官方建议范围是0-10
序列化之生成hypermedialink链接
rest framework框架之序列化验证用户请求数据
# 自定义验证规则
class XXValidator(object):
def __init__(self, base):
self.base = base
def __call__(self, value):
if not value.startswith(self.base):
message = '标题必须以 %s为开头' % self.base
raise serializers.ValidationError(message)
def set_context(self, serializer_field):
"""
This hook is called by the serializer instance,
prior to the validation call being made.
"""
# 执行验证之前调用,serializer_fields是当前字段对象
pass
class UserGroupSerializer(serializers.Serializer):
title = serializers.CharField(error_messages={"required": "标题不能为空"}, validators=[XXValidator('666')])
class UserGroupView(APIView):
def post(self, request, *args, **kwargs):
ser = UserGroupSerializer(data=request.data)
if ser.is_valid():
print(ser.validated_data)
print(ser.validated_data["title"])
else:
print(ser.errors)
return HttpResponse("提交数据")