Skip to main content

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

Project description


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

Build Status on
Coverage Status on
Status on

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 UserSettings you can store some settings per user.

More Information and examples can be found here:


There exist different ways to run unittests, e.g.:

.../django-dbpreferences $ ./ test
.../django-dbpreferences $ ./ test
.../django-dbpreferences $ ./

Run specific tests, e.g.:

.../django-dbpreferences $ ./ test tests.test_dbpreferences.TestDBPref
.../django-dbpreferences $ ./ test tests.test_dbpreferences.TestDBPref
.../django-dbpreferences $ ./ tests.test_dbpreferences.TestDBPref

Django compatibility

django-tools django version python
v0.6.0 1.6 - 1.8 2.7, 3,4
v0.5.0 <=1.6 2 only
v0.4.5 <=1.4 2 only

(version combination will be tested via travis-ci)


  • v0.6.0 - 11.08.2015 - compare v0.5.0…v0.6.0

    • Bugfixes and compatibility with Python 2 and 3, Django 1.6-1.8
    • data_eval rewrite using ast module
    • dbpreferences.fields.DictField was renamed to DictModelField
  • v0.5.0 - 12.02.2015 - compare v0.4.5…v0.5.0

    • Changes for django 1.6 support
  • v0.4.5 - 03.08.2012 - compare v0.4.4…v0.4.5

  • v0.4.4 - 03.08.2012 - compare v0.4.3…v0.4.4

    • Add south support (if installed)
    • tests can be run with ./ test
    • add german translations
  • v0.4.3

  • 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 into, 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

  • v0.1.0

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://

The example used git readonly clone url. If you use subversion do this:

(YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose --editable=

If you have git write access, use this:

(YourVirtualEnv)~/YourVirtualEnv/bin$ pip install --upgrade --verbose


If you like it, send some Bitcoins to 1HLNVtZFwdHLavRKdUebTGHVn8A7e6Dgne ;)

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django_dbpreferences-0.6.0-py2.7.egg (30.4 kB) Copy SHA256 hash SHA256 Egg 2.7
django_dbpreferences-0.6.0-py2-none-any.whl (34.6 kB) Copy SHA256 hash SHA256 Wheel py2
django-dbpreferences-0.6.0.tar.gz (25.5 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page