Определение общего, несериализуемого поля в сериализаторах django rest

Это просто макет моего сериализатора

class SerializerA(serializers.ModelSerializer):
    field_a = serializers.SerializerMethodField()
    field_b = serializers.SerializerMethodField()
    field_c = serializers.SerializerMethodField()
    field_d = serializers.SerializerMethodField()
    
    class Meta:
        model = TestModel
        fields = ("field_a", "field_b", "field_c", "field_d", "name", "designation")

    def get_field_a(self, obj):
        temp = TempUserModel.objects.get(pk=obj.uuid)
        field_a =  "some ORM query related to temp and TestModel model"
        return field_a

    def get_field_b(self, obj):
        temp = TempUserModel.objects.get(pk=obj.uuid)
        field_b =  "some ORM query related to temp and TestModel model"
        return field_b

    def get_field_c(self, obj):
        temp = TempUserModel.objects.get(pk=obj.uuid)
        field_c =  "some ORM query related to temp and TestModel model"
        return field_c
    
    def get_field_d(self, obj):
        field_d =  "some ORM query related to TestModel model"
        return field_d

Здесь temp = TempuserModel.objects.get(pk=obj.uuid) одинаково в 3 из 4 методов класса. Так есть ли способ, чтобы я мог определить его один раз где-нибудь в цикле сериализатора и использовать его, не делая один и тот же ORM запрос снова и снова?

Вернуться на верх