class ProfileAPI(serializers.Serializer):
name = serializers.SerializerMethodField()
age = serializers.SerializerMethodField()
def get_name(self, obj):
return "name"
def age(self,obj):
return 78
is there ordering while execution of SerilaizerMethodField or it is random, means will "get_name" is executed before "get_age".
The execution ordering goes by the order of fields in meta.
class ProfileAPI(serializers.Serializer):
name = serializers.SerializerMethodField()
age = serializers.SerializerMethodField()
def get_name(self, obj):
return "name"
def age(self,obj):
return 78
class Meta:
fields = ["name", "age"]
In the above case "get_name" is called first and then "get_age".
changing the order to
class Meta:
fields = ["age", "name"]
would execute get_age first.