A Django app for adding object tools for models in the admin
Project description
dj-obj-update is a module that helps you do two things while updating an object:
Only do a save if something changed
Log what changed (the logger name is obj_update and only outputs DEBUG)
Installation
pip install dj-obj-update
Usage
Updating an object
from obj_update import obj_update new_data = { 'flavor': 'chocolate', } for obj in queryset: obj_update(obj, new_data)
Replacement for update_or_create
from obj_update import obj_update_or_create choice, created = obj_update_or_create( Choice, question=question, defaults={'choice_text': 'Flour or corn?'}, )
https://docs.djangoproject.com/en/1.8/ref/models/querysets/#update-or-create
Logging changes
Using python-json-logger:
import logging from pythonjsonlogger.jsonlogger import JsonFormatter logger = logger.getLogger('obj_update') handler = logging.FileHandler('log/my_obj_changes.log') handler.setFormatter(JsonFormatter()) logger.addHandler(handler) logger.setLevel(logging.DEBUG)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dj-obj-update-0.2.0.tar.gz
(2.7 kB
view hashes)
Built Distribution
Close
Hashes for dj_obj_update-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10fbd0165346f7891ab51393fbe9b9052f52753cd691d129c0178f49ffddff5e |
|
MD5 | 039a97bbfd0547b8b037f4478efeb078 |
|
BLAKE2b-256 | 9e64aad4ffa940de1ddda9b4f85cc3814d2017e77f186b78123620a30598c5b1 |