【发布时间】:2016-02-12 12:34:39
【问题描述】:
如果我有一个模型序列化程序,其中 db 模型中不需要 first_name 和 last_name(空白=True、null=True、默认=None),并且我选择提交可能包含或不包含“ first_name”或“last_name”字段,这些字段不应该存在于validated_data[]中,无论它们是否不是通过json请求提交的,因为它们列在序列化器字段中并且它们的默认值设置为None?
如果我没有在 json POST 请求中提交“first_name”或“last_name”,我会收到一个关键错误。
class UserCreateSerializer(serializers.ModelSerializer):
class Meta:
model = get_user_model()
fields = ('id', 'email', 'first_name', 'last_name')
read_only_fields = ('id',)
def create(self, validated_data):
user = get_user_model().objects.create(
email=validated_data['email'],
first_name=validated_data['first_name'],
last_name=validated_data['last_name']
)
user.save()
return user
【问题讨论】:
标签: json django-rest-framework serialization