【发布时间】:2018-04-14 04:27:09
【问题描述】:
我一直在关注上述 django 项目,该项目着眼于创建人与人之间的聊天。我遇到过这部分:
def message_list(request, sender=None, receiver=None):
...
elif request.method == 'POST':
print('posting')
data = JSONParser().parse(request)
print(data)
serializer = MessageSerializer(data=data)
print(serializer)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
class MessageSerializer(serializers.ModelSerializer):
sender = serializers.SlugRelatedField(many=False, slug_field='email', queryset=User.objects.all())
receiver = serializers.SlugRelatedField(many=False, slug_field='email', queryset=User.objects.all())
class Meta:
model = Message
fields = ['sender', 'receiver', 'message', 'timestamp']
"if serializer.is_valid():" 实际上是做什么的?是否检查消息中的数据是否与用户配置文件中的数据匹配?我以前从未使用过序列化程序,可以使用它的解释。
谢谢
【问题讨论】:
-
它使用序列化程序
MessageSerializer中指定的各个字段的条件验证您的序列化程序。
标签: django django-rest-framework serialization