Python Django REST序列化单个模型实例

Python Django REST序列化单个模型实例,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在尝试序列化类型为Shift的模型实例,但出现了一个错误 “Shift”对象没有属性“get” ShiftSerializer是一个ModelSerializer。 如果我使用filter和all和many=True获得移位,则此功能有效 解决方案: shift = models.Shift.objects.get(pk=8) ser = serializers.ShiftSerializer(shift) 数据参数用于反序列化,而不是序列化。您应该将模型实例作为位置参数传递 obj =

我正在尝试序列化类型为
Shift
的模型实例,但出现了一个错误

“Shift”对象没有属性“get”

ShiftSerializer是一个ModelSerializer。 如果我使用
filter
all
many=True
获得移位,则此功能有效

解决方案:

shift = models.Shift.objects.get(pk=8)
ser = serializers.ShiftSerializer(shift)

数据
参数用于反序列化,而不是序列化。您应该将模型实例作为位置参数传递

obj = serializers.ShiftSerializer(shift)
注意,没有必要指定many=False,这是默认值。另外,在从模型实例构建的序列化程序上调用
is\u valid()
也没有意义;同样,这是反序列化

obj = serializers.ShiftSerializer(shift)