@Gambetto

Как организовать структуру БД?

Имеется модель:
class Device(models.Model):
    name = models.CharField('Название', max_length=10, blank=True)
    temp_min = models.IntegerField('От:', default=0)
    temp_max = models.IntegerField('До:', default=0)
    ...

Я хочу вести историю изменений для указанных полей. Как это лучше реализовать?
Добавить DateTimeFiled в эту модель и обойтись одной таблицей?
Продублировать все поля в отдельной таблице и опять таки добавить DateTimeFiled?
Или через наследование как-то это возможно?
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
orlov0562
@orlov0562
I'm cool!
Лучше заведи вторую таблицу "архив", куда при изменении копируй нужные данные. Т.е. у тебя есть одна таблица с актуальными данными + таблица архива.

Для истории изменений, тебе всего скорее понадобятся всякие доп поля, например id юзера, который изменил, дата изменения, мб что-то еще.. Не стоит добавлять эти данные в основную таблицу..
Ответ написан
Комментировать
sim3x
@sim3x
Правильно сделать так
class Device(models.Model):
    name = models.CharField('Название', max_length=10, blank=True)


class DeviceTemp(Model):
    device = ForeighKey(Device)
    temp_min = models.IntegerField('От:', default=0)
    temp_max = models.IntegerField('До:', default=0)
    timestamp = ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы