Django-dynamic-preferences

Latest version: v1.17.0

Safety actively analyzes 702662 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 10

1.7.1

******************

- Added djangorestframework 3.10.x compatibility (180)
- Fixed direct access to ChoicePreference.choice (177)
- German and missing translations (175)
- Run makemigrations to add missing migrations file (161)


Contributors:

- JITdev
- izimobil
- jwaschkau
- exequiel09

1.7

****************

- Fix string format arguments in get_by_name error (157)
- Fix UserPreferenceRegistry and its 'section_url_namespace' attribute (152)
- Handle 'required' attribute for all inherited BasePreferenceType class (153)
- add section filter in query string for DRF list endpoint (154)
- Fix ModelChoicePreference when using with model attribute and not queryset (151)
- Update outdated context_processors documentation (149)
- Update README.rst (147)
- Fixed ModelMultipleSerializer.to_python() (146)
- Added ModelMultipleChoicePreference

Contributors:

- eriktelepovsky
- monkeywithacupcake
- ptrstn
- jordiromera
- calvin620707
- czlee
- ElManaa

1.6

****************

- Fixed 141 and 141: migrations issues (see below)
- Dropped support for django < 1.11
- Dropped support for Python 3.4
- Better namespaces for urls

Better namespaces for urls
--------------------------

Historically, the package included multiple urls. To ensure compatibility with django 2
and better namespacing, you should update any references to those urls as described below:

+-------------------------------------+-------------------------------------+
| Old url | New url |
+=====================================+=====================================+
| dynamic_preferences.global | dynamic_preferences:global |
+-------------------------------------+-------------------------------------+
| dynamic_preferences.global.section | dynamic_preferences:global.section |
+-------------------------------------+-------------------------------------+
| dynamic_preferences.user | dynamic_preferences:user |
+-------------------------------------+-------------------------------------+
| dynamic_preferences.user.section | dynamic_preferences:user.section |
+-------------------------------------+-------------------------------------+


Migration cleanup
-----------------

This version includes a proper fix for migration issues.
Full background is available at https://github.com/agateblue/django-dynamic-preferences/pull/142,
but here is the gist of it:

1. Early versions of dynamic_preferences included the user and global preferences models
in the same app
2. The community requested a way to disable user preferences. The only way to do that
was to move the user preference model in a dedicated app (dynamic_preferences_user
3. A migration was written to handle that transparently, but this was not actually possible
to have something that worked for both existing and new installations
4. Thus, we ended up with issues such as 140 or 141, inconsistent db state, tables
lying around in the database, etc.

I'd like to apologize to everyone impacted. By trying to make 3. completely transparent to everyone and
avoid a manual migration step for new installations, I actually made things worse.

This release should fix all that: any remains of the user app was removed from the main
app migrations. For any new user, it will be like nothing happened.

For existing installations with user preferences disabled, there is nothing to do,
apart from deleting the `dynamic_preferences_users_userpreferencemodel` table in your database.

For existing installations with user preferences enabled, there is nothing to do. You should have
``'dynamic_preferences.users.apps.UserPreferencesConfig'`` in your installed apps. If ``python manage.py migrate``
fails with ``django.db.utils.ProgrammingError: relation "dynamic_preferences_users_userpreferencemodel" already exists``,
this probably means you are upgrading for a really old release. In such event, simply skip the initial migration for the
``dynamic_preferences_user`` app by running ``python manage.py migrate dynamic_preferences_users 0001 --fake``.

Many thanks to all people who helped clearing this mess, especially czlee.

1.5.1

******************

This is a minor bugfix release:

* Get proper PreferenceModelsRegistry when preference is proxy model (137)
* Add missing `format()` to IntegerSerializer exception text (138)
* Add some attributes to PerInstancePreferenceAdmin (135)

Contributors:

* czlee
* danie1k

1.5

******************

From now on, django-dynamic-preferences should fully support Django 2.0.
This release should be fully backward-compatible with previous versions
of the module.

You will still have to upgrade your own code to work with Django 2, like
adding on_delete option to your ForeignKey fields.

* removed typo in API code that could cause a crash (127)
* added on_dete=models.CASCADE to migrations for Django 2.0 compatibility (129 and 131)
* Duration, date and datetime serialization issue in rest framework (115)

Contributors:

* rvignesh89
* zamai

1.4.2

******************

* Fix 121: reverted Section import missing from dynamic_preferences.types

Contributors:

* okolimar
* swalladge

Page 3 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.