Django 标准向后关系管理器在序列化程序中的使用
问题是关于在DRF中使用标准Django向后相关的管理器名称 我有以下序列化程序Django 标准向后关系管理器在序列化程序中的使用,django,serialization,django-rest-framework,Django,Serialization,Django Rest Framework,问题是关于在DRF中使用标准Django向后相关的管理器名称 我有以下序列化程序 类ExtraUserSerializer(serializers.ModelSerializer): boatmodel_set=serializers.PrimaryKeyRelatedField(many=True, queryset=BoatModel.objects.all() 类元: 模型=获取用户模型() 字段=(“id”、“用户名”、“船型集”) 此序列化程序表示主模型外部用户,而boat_模型集
类ExtraUserSerializer(serializers.ModelSerializer):
boatmodel_set=serializers.PrimaryKeyRelatedField(many=True,
queryset=BoatModel.objects.all()
类元:
模型=获取用户模型()
字段=(“id”、“用户名”、“船型集”)
此序列化程序表示主模型外部用户,而boat_模型集表示到辅助模型BoatModel的向后关系。选择相关名称“boatmodel_set”仅仅是因为主要核心Django站点使用此标准的“secondarymodel_set”常规反向相关管理器名称,因此在DRF部分中,我也必须使用Related_name=“boatmodel_set”,以便不更改主要部分中的代码
问题是-是否可以保留相关的_name=“boatmodel_set”,但用呈现的json表示它,例如“boats”??
谢谢是,您只需指定,并以不同的方式命名字段,如:
class ExtraUserSerializer(serializers.ModelSerializer):
boats = serializers.PrimaryKeyRelatedField(
many=True,
queryset=BoatModel.objects.all(),
source='boatmodel_set'
)
class Meta:
model = get_user_model()
fields = ('id', 'username', 'boats')
类ExtraUserSerializer(serializers.ModelSerializer):
boats=serializers.PrimaryKeyRelatedField(
多=真,
queryset=BoatModel.objects.all(),
source='boatmodel\u set'
)
类元:
模型=获取用户模型()
字段=('id','username','boats')
在这里,JSON端将包含“boats”:…
,而模型端仍将使用myuser.boatmodel\u set.all()