为什么 django rest framework 序列化器的 `create()` 方法 return 一个值?

Why `create()` method of django rest framework serializer return a value?

我不明白为什么 DRF 序列化程序中的 create() 方法必须 return 一个值。例如:

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

如果没有 returning 值,是否不足以保存 User istance?

它 returns 创建的实例,以便创建的 user 可以根据需要在任何地方使用。通常有一些用例,您可能需要 user 或代码中某处的任何其他通用保存实例。所以在总是保存时,返回保存的实例,以便程序员可以在需要时使用它。