Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 标准向后关系管理器在序列化程序中的使用_Django_Serialization_Django Rest Framework - Fatal编程技术网

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_模型集

问题是关于在DRF中使用标准Django向后相关的管理器名称

我有以下序列化程序


类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()