Utility to track changes in object models
Project description
=====
Dajngo Model Hisotry
=====
Пакет предназначен для отслеживания изменений объектов моделей. Имеет возможность делать откат изменений объекта и попытку восстановить объект, если он был удален.
Если изменение объекта были проведены скриптом или из консоли, то поле user будет пустым.
=====
Быстрый старт
=====
0. Устанавливаем пакет::
pip install django-model-history2
1. Добавляем его в INSTALLED_APPS::
INSTALLED_APPS = (
...
'model_history'
)
3. Выполняем миграцию::
python manage.py migrate model_history
4. Добавляем декоратор model_hisotry к классу Вашей модели:
.. code-block:: python
from model_history.decorators import model_history
@model_history()
class SomeModel(models.Model):
field_one = models.CharField()
last_modified = models.DateTimeField()
=====
Параметры декоратора model_history
=====
1. ``exclude`` - Принимет список названий полей, которын не нужно отслеживать. По-умолчани []::
@model_hisotry(exclude=['last_modified'])
2. ``related`` - Отслеживать все модели, которы ссылаются на текущую. По-умолчанию False::
@model_history(exclude=['last_modified'], related=True)
3. ``related_exclude`` - Список, связанных моделей, которые надо исключить из отслеживания. По-умолчанию []::
@model_history(exclude=['last_modified'], related=True, related_exclude=['myapp.models.Model2'])
=====
Настройки в settings.py
=====
1. Настройки определяются в словаре с именем ``MODEL_HISTORY_SETTINGS``::
MODEL_HISTORY_SETTINGS = {
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
2. Модели, перечисленные в параметре ``connect`` будут поставлены на отслеживание, с указанными параметрами
3. ``delete_action`` - Должна ли в админке быть функция "удалить выбранные объекты". По-умолчанию False::
MODEL_HISTORY_SETTINGS = {
'delete_action': True
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
4. ``delete_permission`` - Какой параметр у пользователя праверять на соответствие наличия прав на удаление записей из истории::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
5. ``revert_action`` - Должна ли быть в админке функция "восстановить объект". Эта функция пытается сделать отсену изменений либо восстановить удаленный объект из дампа. По-умолчанию True::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'revert_action': True,
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
6. ``revert_permission`` - Какой параметр у пользователя праверять на соответствие наличия прав на восстановление объекта::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'revert_action': True,
'revert_permission': 'is_superuser',
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
Dajngo Model Hisotry
=====
Пакет предназначен для отслеживания изменений объектов моделей. Имеет возможность делать откат изменений объекта и попытку восстановить объект, если он был удален.
Если изменение объекта были проведены скриптом или из консоли, то поле user будет пустым.
=====
Быстрый старт
=====
0. Устанавливаем пакет::
pip install django-model-history2
1. Добавляем его в INSTALLED_APPS::
INSTALLED_APPS = (
...
'model_history'
)
3. Выполняем миграцию::
python manage.py migrate model_history
4. Добавляем декоратор model_hisotry к классу Вашей модели:
.. code-block:: python
from model_history.decorators import model_history
@model_history()
class SomeModel(models.Model):
field_one = models.CharField()
last_modified = models.DateTimeField()
=====
Параметры декоратора model_history
=====
1. ``exclude`` - Принимет список названий полей, которын не нужно отслеживать. По-умолчани []::
@model_hisotry(exclude=['last_modified'])
2. ``related`` - Отслеживать все модели, которы ссылаются на текущую. По-умолчанию False::
@model_history(exclude=['last_modified'], related=True)
3. ``related_exclude`` - Список, связанных моделей, которые надо исключить из отслеживания. По-умолчанию []::
@model_history(exclude=['last_modified'], related=True, related_exclude=['myapp.models.Model2'])
=====
Настройки в settings.py
=====
1. Настройки определяются в словаре с именем ``MODEL_HISTORY_SETTINGS``::
MODEL_HISTORY_SETTINGS = {
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
2. Модели, перечисленные в параметре ``connect`` будут поставлены на отслеживание, с указанными параметрами
3. ``delete_action`` - Должна ли в админке быть функция "удалить выбранные объекты". По-умолчанию False::
MODEL_HISTORY_SETTINGS = {
'delete_action': True
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
4. ``delete_permission`` - Какой параметр у пользователя праверять на соответствие наличия прав на удаление записей из истории::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
5. ``revert_action`` - Должна ли быть в админке функция "восстановить объект". Эта функция пытается сделать отсену изменений либо восстановить удаленный объект из дампа. По-умолчанию True::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'revert_action': True,
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
6. ``revert_permission`` - Какой параметр у пользователя праверять на соответствие наличия прав на восстановление объекта::
MODEL_HISTORY_SETTINGS = {
'delete_action': True,
'delete_permission': 'is_superuser',
'revert_action': True,
'revert_permission': 'is_superuser',
'connect': [
{'model': 'django.contrib.auth.models.User', 'exclude': ['last_login'], 'related': True, 'related_exclude': ['django.contrib.admin.models.LogEntry']}
]
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-model-history2-0.9.0_0.zip
(14.4 kB
view hashes)
Close
Hashes for django-model-history2-0.9.0_0.zip
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2260189dbb42f6d1f47fb3c27a57f2ef53a9227971c6f160c412998bfbca9dc1 |
|
MD5 | 0a4efbe0f1630c9e8e2b00f94be940bb |
|
BLAKE2b-256 | 155773511b92e3c54f11c19361d5dbf0bf2ac68ef6339807b55bf0a74ce9b901 |