class UserSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
fields = ('first_name', 'last_name', 'phone_number', 'age', 'gender')
class UserRegistrationSerializer(serializers.ModelSerializer):
profile = UserSerializer(required=False)
class Meta:
model = User
fields = ('email', 'password', 'profile')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
profile_data = validated_data.pop('profile')
user = User.objects.create_user(**validated_data)
UserProfile.objects.create(
user=user,
first_name=profile_data['first_name'],
last_name=profile_data['last_name'],
phone_number=profile_data['phone_number'],
age=profile_data['age'],
gender=profile_data['gender']
)
return user
大家好,欢迎来到StackOverflow
我猜是这样的,因为在
UserRegistrationSerializer
字段profile
不是必需的,您必须管理validated_data
中缺少的案例比如说类似的东西
相关问题 更多 >
编程相关推荐