向Django Rest Fram中的嵌套序列化程序传递额外参数

2024-09-29 05:23:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的序列化程序:

 class FirstModelSerializer(serializers.ModelSerializer):

       secondModel = SecondModelSerializer()

       class Meta:
            model = FirstModel
            fields = '__all__'

其中secondModel是第一个model的许多字段。在

有没有办法把FirstModel对象id传递给SecondModelSerializer?在


Tags: 对象程序fieldsmodel序列化allmetaclass
1条回答
网友
1楼 · 发布于 2024-09-29 05:23:35

比我想的容易多了。我只能用这样的语境

class FirstModelSerializer(serializers.ModelSerializer):

      secondModel = SerializerMethodField()

      class Meta:
            model = FirstModel
            fields = '__all__'

      def get_secondModel(self, obj):
          return SecondModelSerializer(obj.secondModel.all(), many=True, context={'first_model_id': obj.id)).data

和使用self.context.get在SecondModelSerializer中获取此id

相关问题 更多 >