Metadata-Version: 1.1
Name: dj-obj-update
Version: 0.2.1
Summary: A Django app for adding object tools for models in the admin
Home-page: https://github.com/crccheck/dj-obj-update
Author: Chris Chang
Author-email: c@crccheck.com
License: Apache License, Version 2.0
Description: Django Object Update
        ====================
        
        .. image:: https://travis-ci.org/crccheck/dj-obj-update.svg?branch=master
            :target: https://travis-ci.org/crccheck/dj-obj-update
        
        ``dj-obj-update`` is a module that helps you do two things while updating an
        object:
        
        1. Only do a save if something changed
        2. 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)
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
