Custom field for Django to separate multiple values in database with a separator and retrieve them as list.
This library is compatible with:
- python2.6, django1.5
- python2.6, django1.6
- python2.7, django1.5
- python2.7, django1.6
- python2.7, django1.7
- python3.3, django1.5
- python3.3, django1.6
- python3.3, django1.7
- python3.4, django1.5
- python3.4, django1.6
- python3.4, django1.7
Download the package on GitHub or simply install it via PyPi
Add
SeparatedValuesField
to your Django model# models.py from django.db import models from separatedvaluesfield.models import SeparatedValuesField class Project(models.Model): name = models.CharField(max_length=150) languages = SeparatedValuesField(max_length=150, choices=(('en', 'English'), ('fr', 'French')), token=',')
Sync your database using
syncdb
command from django command line
The SeparatedValuesField
behaves like a CharField
which separates values with
a token (default is ,
).
This field is transformed as a MultipleChoiceField when you are
creating a forms.ModelForm
with your model.
In [1]: from myapp.models import Project In [2]: project = Project(name='Foo', languages=['fr', 'en']) In [3]: project.save() # save 'fr,en' in database for the column "languages" In [4]: project.pk 1 In [5]: project = Project.objects.get(pk=1) In [6]: project.languages ['fr', 'en']