类型提示:返回包含类类型的对象列表的Python方法

时间:2019-07-30 23:28:50

标签: python python-3.x

我正在尝试给出一种方法的代码提示,该方法获取包含其包含类类型的对象的列表

我遇到的错误是'name 'PlayersOnline_Result' is not defined'

我尝试为该类定义导入,但是没有成功: from data import PlayersOnline_Result

from typing import List

class PlayersOnline_Result(object):

    def __init__(self, **kwargs):
        self.fk_server : str = kwargs['fk_server']
        self.number_of_players_connected : int = kwargs.get('number_of_players_connected')
        self.number_of_total_players : int = kwargs.get('number_of_total_players')
        self.date : datetime = kwargs.get('date')

    @classmethod
    def execute(cls, session) -> List[PlayersOnline_Result]:
        query = 'call PlayersOnline'

        query_result = session.execute(query).fetchall()

        result : List[PlayersOnline_Result] =  list(map(PlayersOnline_Result.bind , query_result))

        return result

    @staticmethod
    def bind(x) :
        return PlayersOnline_Result(fk_server = x[0],
                                number_of_players_connected= x[1],
                                number_of_total_players= x[2],
                                date= x[3])

我正在从另一个班级打execute()

    result = PlayersOnline_Result.execute(self._session)

PlayersOnline_Result是使用sqlalchemy调用的存储过程的结果的模型(dto)。如果我删除代码提示:-> List[PlayersOnline_Result],那么一切都很好!

我是python的新手,所以请对我温柔! (加上我关于SO的第一个问题)

(PS,我知道我应该使用视图而不是没有参数的存储过程...)

0 个答案:

没有答案