Python 将一个序列化程序字段添加到另一个-django rest框架
我的serializer.py文件如下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
...
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之上。让我知道它是否有效。我看不到您的模型字段,所以可能不是
在这里查看嵌套序列化程序