Как упростить доступ к данным в django с помощью контекстного кэширования
class SampSerializer(CustomModelSerializer):
user = serializers.SerializerMethodField()
user_id = serializers.IntegerField(source="user.id", read_only=True)
role = serializers.SerializerMethodField()
a = serializers.SerializerMethodField()
b = serializers.SerializerMethodField()
c = serializers.SerializerMethodField()
d = serializers.SerializerMethodField()
e = serializers.SerializerMethodField()
f = EscapedCharField()
g = EscapedCharField(source="user.referred_by", read_only=True)
h = serializers.SerializerMethodField()
i = serializers.SerializerMethodField()
class Meta:
model = UserOverview
fields = (
"id",
"user",
"user_id",
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
)
def get_user(self, obj):
print(len(connection.queries))
if obj.user:
return obj.user.display_name().strip()
else:
return ""
Когда я вызываю api, связанный с приведенным выше сериализатором? Он печатает длину запросов соединения как 14 и таким образом становится медленным. Как мне ускорить запрос, используя контекстное кэширование