django-dynamic-admin-forms 3.2.10__tar.gz → 3.2.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.github/workflows/ci.yml +5 -3
  2. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.gitignore +0 -1
  3. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.pre-commit-config.yaml +4 -4
  4. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/CHANGES.md +6 -0
  5. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/CONTRIBUTING.md +1 -1
  6. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/PKG-INFO +14 -2
  7. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/__init__.py +1 -1
  8. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/admin.py +5 -1
  9. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/fixtures/fixtures-dev.json +474 -453
  10. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/pyproject.toml +7 -7
  11. django_dynamic_admin_forms-3.2.12/scripts/unix/install_requirements.sh +3 -0
  12. django_dynamic_admin_forms-3.2.12/scripts/windows/install_requirements.ps1 +2 -0
  13. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/admin.py +76 -72
  14. django_dynamic_admin_forms-3.2.12/testapp/migrations/0004_skill_customer_skills.py +25 -0
  15. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/models.py +47 -39
  16. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/tests/test_admin_unit.py +58 -0
  17. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/uv.lock +17 -18
  18. django_dynamic_admin_forms-3.2.10/scripts/unix/install_requirements.sh +0 -3
  19. django_dynamic_admin_forms-3.2.10/scripts/windows/install_requirements.ps1 +0 -2
  20. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.ambient-package-update/metadata.py +0 -0
  21. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.ambient-package-update/templates/snippets/content.tpl +0 -0
  22. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.ambient-package-update/templates/snippets/installation.tpl +0 -0
  23. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.editorconfig +0 -0
  24. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.python-version +0 -0
  25. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/.readthedocs.yaml +0 -0
  26. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/LICENSE.md +0 -0
  27. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/MANIFEST.in +0 -0
  28. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/README.md +0 -0
  29. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/SECURITY.md +0 -0
  30. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/apps.py +0 -0
  31. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/static/js/dynamic_admin.js +0 -0
  32. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/templates/admin/change_form.html +0 -0
  33. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/django_dynamic_admin_forms/urls.py +0 -0
  34. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/Makefile +0 -0
  35. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/conf.py +0 -0
  36. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/demo.gif +0 -0
  37. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/features/changelog.rst +0 -0
  38. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/index.rst +0 -0
  39. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/docs/make.bat +0 -0
  40. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress/integration/dynamic-select.spec.js +0 -0
  41. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress/plugins/index.js +0 -0
  42. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress/support/commands.js +0 -0
  43. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress/support/index.js +0 -0
  44. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress/support/paths.js +0 -0
  45. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/cypress.json +0 -0
  46. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/package.json +0 -0
  47. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/e2e/yarn.lock +0 -0
  48. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/manage.py +0 -0
  49. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/scripts/unix/publish_to_pypi.sh +0 -0
  50. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/scripts/windows/publish_to_pypi.ps1 +0 -0
  51. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/settings.py +0 -0
  52. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/__init__.py +0 -0
  53. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/apps.py +0 -0
  54. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/migrations/0001_initial.py +0 -0
  55. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/migrations/0002_extend_example.py +0 -0
  56. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/migrations/0003_example_file_field.py +0 -0
  57. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/migrations/__init__.py +0 -0
  58. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/testapp/urls.py +0 -0
  59. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/tests/__init__.py +0 -0
  60. {django_dynamic_admin_forms-3.2.10 → django_dynamic_admin_forms-3.2.12}/tests/test_admin_generic.py +0 -0
@@ -29,13 +29,15 @@ jobs:
29
29
  strategy:
30
30
  matrix:
31
31
  python-version: ['3.10', '3.11', '3.12', '3.13', '3.14', ]
32
- django-version: ['42', '51', '52', ]
32
+ django-version: ['42', '52', '60', ]
33
33
 
34
34
  exclude:
35
+ - python-version: '3.11'
36
+ django-version: 60
37
+ - python-version: '3.10'
38
+ django-version: 60
35
39
  - python-version: '3.9'
36
40
  django-version: 52
37
- - python-version: '3.9'
38
- django-version: 51
39
41
  - python-version: "3.13"
40
42
  django-version: 42
41
43
 
@@ -52,7 +52,6 @@ coverage.xml
52
52
  cover/
53
53
 
54
54
  # Translations
55
- *.mo
56
55
  *.pot
57
56
 
58
57
  # Django stuff:
@@ -3,7 +3,7 @@
3
3
 
4
4
  repos:
5
5
  - repo: https://github.com/astral-sh/ruff-pre-commit
6
- rev: v0.14.0
6
+ rev: v0.14.8
7
7
  hooks:
8
8
  # Run the Ruff formatter.
9
9
  - id: ruff-format
@@ -20,19 +20,19 @@ repos:
20
20
  files: '(?:README\.md|\.ambient-package-update\/templates\/snippets\/.*\.tpl|docs\/.*\.(?:md|rst))'
21
21
 
22
22
  - repo: https://github.com/asottile/pyupgrade
23
- rev: v3.20.0
23
+ rev: v3.21.2
24
24
  hooks:
25
25
  - id: pyupgrade
26
26
  args: [ --py310-plus ]
27
27
 
28
28
  - repo: https://github.com/adamchainz/django-upgrade
29
- rev: 1.29.0
29
+ rev: 1.29.1
30
30
  hooks:
31
31
  - id: django-upgrade
32
32
  args: [--target-version, "4.2"]
33
33
 
34
34
  - repo: https://github.com/adamchainz/djade-pre-commit
35
- rev: 1.6.0
35
+ rev: 1.7.0
36
36
  hooks:
37
37
  - id: djade
38
38
  args: [--target-version, "4.2"]
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ **3.2.12** (2026-03-08)
4
+ * Allow setting a list as a field value
5
+
6
+ **3.2.11** (2025-10-15)
7
+ * Maintenance updates via ambient-package-update
8
+
3
9
  **3.2.10** (2025-10-09)
4
10
  * Maintenance updates via ambient-package-update
5
11
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  - Create a Python virtualenv and activate it
6
6
  - Install "uv" with `pip install -U uv`
7
- - Sync the requirements with `uv sync --frozen --group dev`
7
+ - Sync the requirements with `uv sync --frozen --extra dev`
8
8
 
9
9
  ## Add functionality
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-dynamic-admin-forms
3
- Version: 3.2.10
3
+ Version: 3.2.12
4
4
  Summary: Add simple dynamic interaction to the otherwise static django admin.
5
5
  Project-URL: Homepage, https://github.com/ambient-innovation/django-dynamic-admin/
6
6
  Project-URL: Documentation, https://django-dynamic-admin-forms.readthedocs.io/en/latest/index.html
@@ -34,8 +34,8 @@ Classifier: Development Status :: 5 - Production/Stable
34
34
  Classifier: Environment :: Web Environment
35
35
  Classifier: Framework :: Django
36
36
  Classifier: Framework :: Django :: 4.2
37
- Classifier: Framework :: Django :: 5.1
38
37
  Classifier: Framework :: Django :: 5.2
38
+ Classifier: Framework :: Django :: 6.0
39
39
  Classifier: Intended Audience :: Developers
40
40
  Classifier: License :: OSI Approved :: MIT License
41
41
  Classifier: Natural Language :: English
@@ -50,6 +50,18 @@ Classifier: Programming Language :: Python :: 3.14
50
50
  Classifier: Topic :: Utilities
51
51
  Requires-Python: >=3.10
52
52
  Requires-Dist: django>=4.2
53
+ Provides-Extra: dev
54
+ Requires-Dist: ambient-package-update; extra == 'dev'
55
+ Requires-Dist: m2r2~=0.3; extra == 'dev'
56
+ Requires-Dist: pre-commit~=4.3; extra == 'dev'
57
+ Requires-Dist: pytest-cov~=7.0; extra == 'dev'
58
+ Requires-Dist: pytest-django~=4.11; extra == 'dev'
59
+ Requires-Dist: pytest-mock~=3.15; extra == 'dev'
60
+ Requires-Dist: sphinx-rtd-theme~=3.0; extra == 'dev'
61
+ Requires-Dist: sphinx~=7.4; extra == 'dev'
62
+ Requires-Dist: typer~=0.19; extra == 'dev'
63
+ Requires-Dist: unittest-parametrize~=1.4; extra == 'dev'
64
+ Requires-Dist: uv~=0.9; extra == 'dev'
53
65
  Description-Content-Type: text/markdown
54
66
 
55
67
  [![PyPI release](https://img.shields.io/pypi/v/django-dynamic-admin-forms.svg)](https://pypi.org/project/django-dynamic-admin-forms/)
@@ -1,3 +1,3 @@
1
1
  """Add simple dynamic interaction to the otherwise static django admin."""
2
2
 
3
- __version__ = "3.2.10"
3
+ __version__ = "3.2.12"
@@ -1,4 +1,5 @@
1
1
  import json
2
+ from collections.abc import Iterable
2
3
  from itertools import filterfalse
3
4
 
4
5
  from django.apps import apps
@@ -59,7 +60,10 @@ class DynamicModelAdminMixin:
59
60
 
60
61
  bound_field.field.queryset = queryset
61
62
  bound_field.form.data = bound_field.form.data.copy()
62
- bound_field.form.data[field_name] = value
63
+ if isinstance(value, Iterable) and not isinstance(value, str):
64
+ bound_field.form.data.setlist(field_name, value)
65
+ else:
66
+ bound_field.form.data[field_name] = value
63
67
 
64
68
  skip_update = field_name in request.FILES and not hidden
65
69
  html = bound_field.as_widget()