Как проверить значение ResultProxy и / или RowProxy? - PullRequest
0 голосов
/ 01 марта 2020

У меня есть функция, которая выполняет некоторую работу, предполагая, что в запросе есть строки. Что я хотел бы сделать, это проверить любые значения (или возвращенные строки), прежде чем пытаться распаковать и выполнить итерацию.

Рабочая версия:

        resultproxy = db.session.execute(query, user_json)
        data = {}

        for rowproxy in resultproxy:
            for column, value in rowproxy.items():
                data = {**data, **{column: value}}

        if not data:
            return {"message": "nothing here"}
        else:
           key_name = data['key']
           # do work with this value

Что бы я хотелось бы знать, есть ли возможность проверить, что в rowproxy или resultproxy есть какие-либо строки, прежде чем пытаться перебрать и распаковать данные?

Я пробовал оба if rowproxy: #work и if resultproxy: #work, но ни один не работает. Вместо этого я попробовал if not на тот случай, если у меня неправильные логики c, но for column, value in rowproxy.items(): работает независимо, и последующий код, предназначенный для доступа к ключу data['key'], завершается с ошибкой ключа.

Я действительно просто пытаюсь понять, есть ли лучший способ сделать это для меня, или «рабочая» версия кода - это то, как она должна быть написана?

Если это так тогда, как только for rowproxy in resultproxy: запускается и не имеет значений / данных, python не продолжается с остальной частью вложенного для l oop и просто движется дальше?

...