Django Rest Framework make OnetoOne relation ship feel like it is one model

后端 未结 3 1907
时光取名叫无心
时光取名叫无心 2020-12-07 22:58

I have my User saved in two different models, UserProfile and User. Now from API perspective, nobody really cares that these two are d

3条回答
  •  时光取名叫无心
    2020-12-07 23:25

    I would implement the modifications on the UserPSerializer as the fields are not going to grow:

    class UserSerializer(serializers.HyperlinkedModelSerializer):
        class Meta:
            model = User
            fields = ('url', 'username', 'first_name', 'last_name', 'email')
    
    class UserPSerializer(serializers.HyperlinkedModelSerializer):
        url = serializers.CharField(source='user.url')
        username = serializers.CharField(source='user.username')
        first_name = serializers.CharField(source='user.first_name')
        last_name = serializers.CharField(source='user.last_name')
        email = serializers.CharField(source='user.email')
    
        class Meta:
            model = UserProfile
            fields = ('mobile', 'favourite_locations',
                      'url', 'username', 'first_name', 'last_name', 'email')
    

提交回复
热议问题