我不明白为什么DRF序列化器中的create()
方法必须返回一个值。例如:
class UserSerializer(serializers.ModelSerializer):
profile = ProfileSerializer()
class Meta:
model = User
fields = ('username', 'email', 'profile')
def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create(**validated_data)
Profile.objects.create(user=user, **profile_data)
return user
保存用户实例而不返回值是否足够?
create
返回的对象随后被序列化为响应(带有 201 状态码),这就是为什么它是必需的而不仅仅是可选的原因。 - undefined