Сохранение допустимых параметров для таблицы SQLPython

Программы на Python
Anonymous
Сохранение допустимых параметров для таблицы SQL

Сообщение Anonymous »

Я создаю приложение для отслеживания бюджета, используя пакет Python и sqlite3. Я организовал свои таблицы в базе данных, но вот проблема: мне не нужно, чтобы пользователь придумывал новые типы транзакций или счетов (карта, наличные и т. д.). Мне нужно совершить какую-то фиксированную сумму транзакций (скажем, доход, расход и перевод) и всё. У меня есть следующий блок кода:

Код: Выделить всё

def make_a_transaction(current_cursor, account: str, type_of_transaction: str, category: str,
amount: float, currency: str = 'USD',
date_of_transaction: str = str(datetime.now())[:19], description_of_transaction: str = ''):
current_cursor.execute('INSERT INTO Transactions (account, type_of_transaction, category, amount, currency, '
'date_of_transaction, description_of_transaction) VALUES (?, ?, ?, ?, ?, ?, ?)',
(account, type_of_transaction, category, amount, currency,
date_of_transaction, description_of_transaction))
Я не хочу, чтобы пользователь мог создавать новую учетную запись (по крайней мере, в этой функции), новый тип транзакций, новые категории, новую валюту. Я, очевидно, мог бы написать что-то вроде

Код: Выделить всё

cursor.execute('SELECT DISTINCT category FROM Transactions')
if category not in cursor.fetchall():
print('Choose category from the list of existing categories')
Но есть ли другой, более гибкий подход? Может быть, файл JSON или другая таблица SQL?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -sql-table

Вернуться в «Python»