Metadata-Version: 1.1
Name: django-binaryfield
Version: 0.3.1
Summary: a generic app to provide a way to handle database binary data in django
Home-page: https://bitbucket.org/slafs/django-binaryfield/
Author: Slawek Ehlert
Author-email: slafs@op.pl
License: BSD
Description: ===================
        Django Binaryfield
        ===================
        
        A generic app to provide a way to handle database binary data in django.
        
        Introduction
        =============
        
        This is a total rip-off of `BinaryField` class from Django 1.6+ sourcecode with some tweaks to make it work under Django 1.4+.
        
        Installation
        ==============
        
            pip install django-binaryfield
        
        
        Usage
        =======
        
        Use BinaryField to bind your binary database columns on a django model. Like so::
        
            from binaryfield import BinaryField
        
            class ExampleModel(models.Model):
        
                short_data = BinaryField(max_length=10, default=b'\x08')
                data = BinaryField()
        
        
        Configuration
        ==============
        
        syncdb
        ---------
        
        Django-binaryfield works out-of-the-box with existing binary database columns that are correctly mapped in your models.
        If you want BinaryField to work with `syncdb` management command
        there's one setting called ``BINARYFIELD_HACK_ENGINES``
        that can be used to **hack** Django database backend. Use it like this::
        
            BINARYFIELD_HACK_ENGINES = (
                'django.db.backends.sqlite3',
            )
        
        It's a list of django backends (as an "importable" strings) to mangle in order to `syncdb` could work properly.
        Did I mention that it is a **hack**?
        
        
        Oracle issues
        ------------------
        
        There are some issues with Oracle when handling parameteres in a query in Django < 1.6.
        You can see this link (https://github.com/django/django/commit/8aefd30379eba9aa7e5afcc69cc352adf0d23489)
        to see what changed in `django.db.backends.oracle.base.OracleParam` class regarding this feature.
        
        There are two settings to control a fix to this issue:
        
        * ``BINARYFIELD_HACK_ORACLE_PARAM`` - determines whether or not apply the fix - **Default**: ``False``
        * ``BINARYFIELD_HACK_ORACLE_PARAM_BACKENDS`` - an iterable of backend engines as an "importable" strings to apply the fix. - **Default**: ``[ settings.DATABASES['default']['ENGINE'] ]``
        
        TODO
        =======
        
        * Some more tests maybe?
        * An example view to show how to serve a file from database
        * try to setup ``travis-ci`` testing
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Topic :: Utilities
