<p>您应该重写<code>to_representation()</code>方法<br/>请尝试此操作,<br/></p>
<pre><code>from rest_framework.serializers import Serializer
class PreguntaSerializer(serializers.ModelSerializer):
usuario = UserSerializer(read_only=True)
categoria_pregunta = serializers.PrimaryKeyRelatedField(queryset=Categoria_pregunta.objects.all())
persons = serializers.PrimaryKeyRelatedField(many=True, queryset=Person.objects.all())
class Meta:
model = Pregunta
fields = '__all__'
def to_representation(self, instance):
if self.context['request'].method == 'POST':
user = UserSerializer(instance.usuario).data
categoria_pregunta = Categoria_preguntaSerializer(instance.categoria_pregunta).data
persons = PersonForPreguntaSerializer(instance.persons, many=True).data
data = {"id": instance.id,
"usuario": user,
"categoria_pregunta": categoria_pregunta,
"persons": persons,
"titulo": instance.titulo,
"descripcion": instance.descripcion
}
return data
return Serializer.to_representation(self, instance)
</code></pre>