#django #django-models #model #onchange #history
Вопрос:
Как я могу показать исторические изменения модели, показать их и изменить? например
class MM(models.Model):
chnge1=model.ForeignKey('self')
changeText = models.TextField(max_length=200)
Ответ №1:
Если вы используете Django для управления своими моделями, вы всегда можете просмотреть файлы миграции, чтобы узнать, что изменилось. Файлы миграции предназначены для отслеживания изменений в ваших моделях, чтобы Django мог применить эти изменения к базе данных.
Подробнее смотрите здесь: Миграции Django
Типичный файл миграции может выглядеть следующим образом:
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [('migrations', '0001_initial')]
operations = [
migrations.DeleteModel('Tribble'),
migrations.AddField('Author', 'rating', models.IntegerField(default=0)),
]
Вы можете видеть, что модель «Триббл» была удалена, а в модель «Автор» было добавлено поле «рейтинг».
Если у вас много миграций для одного приложения и вы не хотите просматривать каждый файл миграции, чтобы увидеть изменения, попробуйте «сжать» файлы миграции в (обычно) один файл, и вы сможете просмотреть все изменения оттуда.
Сокрушительные Миграции: Сокрушительные Миграции