Определение общего, несериализуемого поля в сериализаторах 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 запрос снова и снова?