== description

With django-dbpreferences you can store some app/user preferences into the database.

A django app defines a form with initial values. The form cleaned data dict would
be stored serialized into the database. The app can easy get the current preference
dict and the user can easy edit the values in the django admin panel.

With [[https://code.google.com/p/django-dbpreferences/wiki/UserSettings|UserSettings]] you can
store some settings per user.

More Information and examples can be found here:

* https://code.google.com/p/django-dbpreferences/w/list

Tested with django 1.3 and django 1.4


== history

* v0.4.5
** Add cache for preferences access (used [[https://github.com/jedie/django-tools#local-sync-cache|LocalSyncCache from django-tools]] if installed)
* v0.4.4
** Add south support (if installed)
** tests can be run with {{{./setup.py test}}}
** add german translations
* v0.4.3
** Bugfix: [[https://github.com/jedie/django-dbpreferences/issues/1|For 'UserSettings' object has no attribute 'get_settings']] 
* v0.4.2
** Bugfix: Add templates to pypi package
* v0.4.1
** Bugfix with BooleanField
* v0.4.0
** NEW: Use initial data, if not exist in saved preferences. So it’s easier to add new preferences values.
* v0.3.8
** Bugfix in error message for not existing keys
* v0.3.7
** Change version scheme and add last git commit date to version string
* v0.3.6
** Display current value on ValidationError
* v0.3.5
** Updates for django v1.2 API changes
* v0.3.4
** Bugfix if help_text contains non ascii characters and html code
* v0.3.3
** validate preferences with model validation
** clean preferences in get_preferences()
* v0.3.2
** some bugfixes
* v0.3.1
** Bugfix if DictField can be null / {{{ DictFormField(required=False) }}}
* v0.3.0
** separate field stuff from models.py into fields.py, so its usable in other projects, too.
** Use own dict class for serialize/deserialize
** Update unittest for new django admin url prefix
* v0.2.0
** Add [[https://code.google.com/p/django-dbpreferences/wiki/UserSettings|UserSettings]], see: http://www.jensdiemer.de/_command/118/blog/detail/64/ (de)
* v0.1.0
** first version cut out from PyLucid CMS – http://www.pylucid.org


== pip upgrade

To do a pip upgrade in a virtual environment, run this:

{{{
~$ cd /YourVirtualEnv/bin
~/YourVirtualEnv/bin$ source activate
(YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=git+git://github.com/jedie/django-dbpreferences.git#egg=django-dbpreferences
}}} The example used git readonly clone url. If you use subversion do this:

{{{
(YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=http://svn.github.com/jedie/django-dbpreferences.git#egg=django-dbpreferences
}}} If you have git write access, use this:

{{{
(YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=git+git@github.com:jedie/django-dbpreferences.git#egg=django-dbpreferences
}}}


== fast repo update

To made a fast repository update, you can run this simple shell script:

{{{
~$ cd /path/to/django-dbpreferences
/path/to/django-dbpreferences$ ./update.sh
}}}
the update script runs “git pull origin master” or “svn update”.


== donation ==

If you like it, send some [[http://www.bitcoin.org/|Bitcoins]] to [[https://blockexplorer.com/address/1HLNVtZFwdHLavRKdUebTGHVn8A7e6Dgne|1HLNVtZFwdHLavRKdUebTGHVn8A7e6Dgne]] ;)


== links

| homepage    | http://code.google.com/p/django-dbpreferences/
| Sourcecode  | http://github.com/jedie/django-dbpreferences
| PyPi        | http://pypi.python.org/pypi/django-dbpreferences/
| IRC         | [[http://www.pylucid.org/permalink/304/irc-channel|#pylucid on freenode.net]]


