У меня есть следующие функции:Почему эта функция возвращает None из базы данных?
def get_some_field(grouping_type_id):
checkConnection() # establishes connection if none
sql = "SELECT name FROM table_foo WHERE id=%d" % grouping_type_id
results = conn.execute(sql)
data = results.fetchone()
return str(data['name']) if ((data) and ('name' in data)) else ''
Если таблица базы данных пуста, я ожидаю, что функция возвращает пустую строку, однако, None
возвращается вместо этого.
Может ли кто-нибудь объяснить это поведение?
Не будет ли это нарушаться, если 'data'' '' '' '' '' ' То есть пустая строка за мой плохой ответ ниже? – JoeFish
'str (data.get ('name', ''))' также будет возвращать '' None'' с '{'name': None}' – juliomalegria
@JoeFish, julio.alegria: Вы оба правы, я добавил одна часть, которая его исправляет. – Tadeck