Часто я выбираю данные из базы данных SQLite в список словарей, используя что-то вроде:
conn.row_factory = sqlite3.Row
c = conn.cursor()
selection = c.execute('select * from myTable')
dataset = selection.fetchall()
dataset1 = [dict(row) for row in dataset]
Однако, учитывая фон моей базы данных (Foxpro, SQL-сервер и т. Д.), Я более привык киспользуя формат table.column, который я могу получить используя:
dataset2 = [RowObj(row) for row in dataset]
, где
class RowObj(dict):
def __getattr__(self, name):
return self[name]
Вопрос - Что предпочтительнее для адресации значений столбцов, таблицы ['столбца'] или таблицы.столбец?На мой взгляд, последний выглядит аккуратнее.Это просто вопрос личных предпочтений или есть плюсы и минусы каждого подхода?
Мне также нужно помнить, что однажды база данных может быть изменена с SQLite на что-то вроде строки MySQL, поэтому яя хочу минимальных изменений кода, если / когда это произойдет.
Я не хочу использовать пакет ORM, такой как SQLObject или SQLAlchemy, на данном этапе - пока я не уверен, что они принесут пользу моим приложениям.* С уважением, Алан