Python 将一个序列化程序字段添加到另一个-django rest框架

Python 将一个序列化程序字段添加到另一个-django rest框架,python,django,django-rest-framework,Python,Django,Django Rest Framework,我的serializer.py文件如下 ... class RelativeSerializerSLC(serializers.ModelSerializer): full_name = serializers.CharField(source="user.full_name") rtl_full_name = serializers.CharField(source="user.rtl_full_name") gender = s

我的serializer.py文件如下

...
class RelativeSerializerSLC(serializers.ModelSerializer):
    full_name = serializers.CharField(source="user.full_name")
    rtl_full_name = serializers.CharField(source="user.rtl_full_name")
    gender = serializers.CharField(source="user.gender")
    phone = serializers.CharField(source="user.phone")
    email = serializers.CharField(source="user.email")
    avatar = serializers.CharField(source="user.avatar")
    date_of_birth = serializers.CharField(source="user.date_of_birth")

    class Meta:
        model = Relative
        fields = ("full_name", "rtl_full_name", "gender", "phone", "email", "avatar", "date_of_birth", "blood_group", "rel")
        read_only_fields = ["patient"]


class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = "id", "full_name", "rtl_full_name", "gender", "phone", "email", "date_of_birth", "avatar"

在这里,我创建了其他序列化程序字段(userSerializer),并将其添加到我的RelativeSerializer中。 那对我来说很难看,我不知道。有没有更好的选择,比如用一个序列化器字段来代替另一个

谢谢,DRF的新成员:)

也许可以试试这个:

 class RelativeSerializerSLC(serializers.ModelSerializer):
   users = UserSerializer(read_only=True)
   class Meta: 
      model = Relative
      fields = ("full_name", "rtl_full_name", "gender", "phone", "email", "avatar", 
      "date_of_birth", "blood_group", "rel")
      read_only_fields = ["patient"]
并将UserSerializer类置于relativeSerializer之上。让我知道它是否有效。我看不到您的模型字段,所以可能不是

在这里查看嵌套序列化程序