2013-03-19 4 views
3

То, что я пытаюсь сделать, это получить запись обо всех полях, которые могут быть изменены после изменения объекта. Я знаю, что есть много способов узнать, изменился ли объект, а также некоторые другие пакеты django, такие как django-revisions, django-reversion и django-simple-history, но я хочу иметь отчет, в котором показано все измененное поле, а не только один , Я также расскажу, что это за поле, пока он не был изменен, поэтому я могу провести полный аудит объекта.Захват всех полей, которые были изменены в модели

Я думал о добавлении поля json с django-jsonfield, но чувствовал себя не так, как это сделать. Как будто это был взлом или грязная работа. Существует ли более традиционный или простой способ сделать это.

+0

это похоже на http://stackoverflow.com/questions/110803/dirty-fields-in-django и на http://stackoverflow.com/questions/1141484/can-you-find-out-if- a-django-model-instance-is-dirty – dnozay

ответ

3

Вы можете взглянуть на django-dirtyfields. Когда объект обновляется, вы можете получить список всех загрязняющих полей и создать необходимый отчет. Это не будет сделано автоматически, но вы получите поля, которые были изменены.

+0

Кажется, это именно то, что я искал. Хороший и легкий вес и очень прост в применении. Уже начали делать мои отчеты. Спасибо! – Austin

+0

Очень хорошо. Рад, что смог помочь. – Brandon

Смежные вопросы