У меня есть функция, которая выполняет некоторую работу, предполагая, что в запросе есть строки. Что я хотел бы сделать, это проверить любые значения (или возвращенные строки), прежде чем пытаться распаковать и выполнить итерацию.
Рабочая версия:
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 и просто движется дальше?