我正在尝试序列化 Shift
类型的模型实例,但出现错误。
shift = models.Shift.objects.get(pk=8)
ser = serializers.ShiftSerializer(many=False, data=shift)
ser.is_valid()
ShiftSerializer 是一个 ModelSerializer。
如果我使用
filter
和 all
和 many=True
获得类次,这将起作用。解决方案:
shift = models.Shift.objects.get(pk=8)
ser = serializers.ShiftSerializer(shift)
最佳答案
data
参数用于反序列化,而不是序列化。您应该将模型实例作为位置参数传递。
obj = serializers.ShiftSerializer(shift)
请注意,无需指定 many=False,这是默认设置。此外,在从模型实例构建的序列化程序上调用
is_valid()
没有意义;再次,那是为了反序列化。关于python - Django REST 序列化单个模型实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32329751/