Как упростить доступ к данным в 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 и таким образом становится медленным. Как мне ускорить запрос, используя контекстное кэширование

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