当我 return class 时出现 AttributeError

AttributeError when I return class

我正在为我的 API 使用 sanic,并将 peewe 作为 ORM。

我想为 json 响应创建助手,但我得到了错误

AttributeError: 'JsonResponse' object has no attribute 'all_records'

get 控制器中的方法

from sanic.response import json
from sanic.views import HTTPMethodView

from models.project import Project
from helpers.json import JsonResponse


class ProjectListResource(HTTPMethodView):
    def get(self, resp):
        projects = Project().select().dicts()
        return JsonResponse(projects, all_records=True)

和我的helperclass

from sanic.response import json


class JsonResponse:
    def __init__(self, model, all_records=None):
        self.model = self._model_query(model)
        self.all_records = all_records

    def _model_query(self, model):
        if self.all_records:
            records = json({model: list(model)})
        else:
            records = {}

        return records

已解决。

我需要先初始化 all_records 变量。

def __init__(self, model, all_records=None):
        self.all_records = all_records
        self.model = self._model_query(model)