Peewee портит имена ключей со странными скобками - PullRequest
0 голосов
/ 02 октября 2018

Как получиться с таким запросом:

latest_dates = EquityModel.select(EquityModel.symbol, fn.MAX(EquityModel.date)).where(EquityModel.symbol << symbols).group_by(EquityModel.symbol)
    for latest_date in latest_dates.dicts():
        print("{:s} - {:d}".format(str(latest_date['date']), latest_date['symbol']))

Я получаю KeyError с 'date', но не с 'symbol', учитывая, что оба присутствуют в EquityModel?

Если я анализирую latest_date в отладчике, это выглядит так:

{'date")': datetime.datetime(something), 'symbol': 3}

Если я пытаюсь получить доступ к latest_dates['date")'], это работает!

Что именно здесь происходит?Почему date становится date")?

1 Ответ

0 голосов
/ 03 октября 2018

Не уверен, что происходит, вы можете явно назначить псевдоним, используя: fn.MAX(EquityModel.date).alias('date').

Является ли EquityModel.date вычисляемым полем или это обычный столбец?

...