Как сохранить журнал транзакций в базе данных

Добрый день, ребята, Мне нужно ваше мнение по этой проблеме. Хотя я использую Django для своего проекта, но я уверен, что эта проблема не связана только с django. Итак, я работаю над системой бронирования услуг. В моей базе данных есть 3 таблицы, перечисленные ниже:

  1. User_Table with field • Id • Username • Fullname
  2. Services_Table with field • Id • name • Price
  3. Transaction_Table with field • Id • User_id • Services_id (many to many relationship)

Когда эти услуги бронируются, я отправляю их в таблицу транзакций, используя user_id и services_id в качестве внешних ключей для таблицы User и таблицы Services, то есть сохраняются именно значения id. Когда клиент хочет просмотреть историю своих транзакций, я предоставляю ему такую возможность, выполнив запрос:

price = transaction.service.price

service_name = transaction.service.name

общая_стоимость = сумма всех выбранных услуг

чтобы не представлять пользователю значения id для цены и названия услуги. Теперь вот моя проблема, в будущем, если администратор решит изменить название и цену услуги и клиент вернется к просмотру своего старого журнала транзакций, новые значения будут заполнены, потому что я ссылался на них по id, что не то, что я хочу, я хочу, чтобы клиент видел старое значение, как чек, даже когда я обновил таблицу услуг. Что вы посоветуете мне делать в этом случае?

Вы должны регистрировать каждую совершенную транзакцию и записывать цену и сумму на момент совершения транзакции. Модель транзакции должна иметь поля для записи каждой детали транзакции.

Это означает: У вас будет таблица txn_service, в которой все услуги в транзакции сохраняются и связываются с таблицей транзакции.

Вернуться на верх