Metadata-Version: 1.1
Name: django-postgres-setfield
Version: 0.0.1
Summary: Django field for storing sets, backed by Postgres arrays
Home-page: https://github.com/CodeYellowBV/django-postgres-setfield
Author: Peter Bex
Author-email: peter@codeyellow.nl
License: MIT License
Description: django-postgres-setfield
        ========================
        
        .. image:: https://travis-ci.org/CodeYellowBV/django-postgres-setfield.svg?branch=master
           :target: https://travis-ci.org/CodeYellowBV/django-postgres-setfield
        
        A Django field for storing `standard Python set <https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset>`_
        objects.  It uses Postgres arrays as a backing store.
        
        Usage
        -----
        
        Using the field is straightforward, and similar to how you'd use a
        `Django ArrayField <https://docs.djangoproject.com/en/2.1/ref/contrib/postgres/fields/>`_.
        You can add the field to your model like so:
        
        .. code:: python
        
            from django.db import models
            from setfield import SetField
        
            class Person(models.Model):
              LANGUAGES = (('NL', 'Dutch'), ('EN', 'English'), ('RU', 'Russian'))
              speaks_languages=SetField(models.TextField(choices=LANGUAGES), default=list, blank=True)
        
        Then later, you can use it:
        
        .. code:: python
        
            piet = Person(languages={'NL'})
            piet.save()
        
            john = Person(languages={'RU', 'EN'})
            john.save()
        
        
        Lookups
        -------
        
        All the standard `Django ArrayField`_ lookups are supported.
        
        
        Caveats
        -------
        
        * Unlike ArrayFields, SetFields cannot be nested (because sets cannot
          be nested in Python).
        * When upgrading an existing ArrayField to a SetField, make sure the
          entries are sorted using the default sort order of Python for the
          corresponding object type, if you want to use the ``__exact``
          lookup.  Otherwise you'll get inconsistent results.
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.1
Classifier: Framework :: Django :: 2.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Database
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
