【发布时间】:2019-03-22 08:39:08
【问题描述】:
我正在尝试序列化一个对象,我会将非模型字段的数据传递到序列化程序中
data = {
'field1': 'abc',
'field2': 123,
}
serializer = UserSerializer(
user,
context={"request": request},
data=request.data,
partial=True,
)
serializer.is_valid(raise_exception=True)
result = serializer.validated_data
我有这样的 UserSerializer
class UserSerializer(serializers.ModelSerializer):
field1 = serializers.SerializerMethodField()
field2 = serializers.SerializerMethodField()
class Meta:
model = User
fields = (
'username',
'field1',
'field2',
)
但是我从serializer.validated_data 得到空的DefaultDict()
【问题讨论】:
-
除非您提供
data参数,否则您无法验证(调用is_valid()) -
您确定需要提供
user实例或一些dict类似的对象吗?
标签: python django python-3.x serialization django-rest-framework