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
File details
Details for the file django-model-history2-0.9.0_0.zip.
File metadata
- Download URL: django-model-history2-0.9.0_0.zip
- Upload date:
- Size: 14.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2260189dbb42f6d1f47fb3c27a57f2ef53a9227971c6f160c412998bfbca9dc1
|
|
| MD5 |
0a4efbe0f1630c9e8e2b00f94be940bb
|
|
| BLAKE2b-256 |
155773511b92e3c54f11c19361d5dbf0bf2ac68ef6339807b55bf0a74ce9b901
|