class ProfileAPI(serializers.Serializer):
name = serializers.SerializerMethodField()
age = serializers.SerializerMethodField()
def get_name(self, obj):
return "name"
def age(self,obj):
return 78
执行 SerilaizerMethodField 时是否有顺序或者是随机的,意味着“get_name”会在“get_age”之前执行。
最佳答案
执行顺序按照元中字段的顺序进行。
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"]
在上述情况下,首先调用“get_name”,然后调用“get_age”。
更改顺序
class Meta:
fields = ["age", "name"]
首先执行get_age。
关于django - DRF : Do DRF serializers, SerializerMethodField 有执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62101669/