django-dynamic-admin-forms 3.1.0__tar.gz → 3.1.1__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.
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.ambient-package-update/templates/snippets/content.tpl +16 -17
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.ambient-package-update/templates/snippets/installation.tpl +4 -4
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/CHANGES.md +3 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/PKG-INFO +1 -2
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/README.md +0 -1
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/__init__.py +1 -1
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.ambient-package-update/metadata.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.coveragerc +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.editorconfig +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.github/workflows/ci.yml +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.gitignore +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.pre-commit-config.yaml +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.python-version +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.readthedocs.yaml +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/LICENSE.md +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/MANIFEST.in +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/admin.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/apps.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/static/js/dynamic_admin.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/templates/admin/change_form.html +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/django_dynamic_admin_forms/urls.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/Makefile +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/conf.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/demo.gif +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/features/changelog.rst +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/index.rst +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/make.bat +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/integration/dynamic-select.spec.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/plugins/index.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/support/commands.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/support/index.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/support/paths.js +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress.json +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/package.json +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/yarn.lock +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/fixtures/fixtures-dev.json +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/manage.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/pyproject.toml +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/scripts/unix/install_requirements.sh +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/scripts/unix/publish_to_pypi.sh +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/scripts/windows/install_requirements.ps1 +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/scripts/windows/publish_to_pypi.ps1 +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/settings.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/setup.cfg +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/__init__.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/admin.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/apps.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/migrations/0001_initial.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/migrations/0002_extend_example.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/migrations/0003_example_file_field.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/migrations/__init__.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/models.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/urls.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/tests/__init__.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/tests/test_admin_generic.py +0 -0
- {django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/tests/test_admin_unit.py +0 -0
|
@@ -43,8 +43,8 @@ Add simple interactions to the otherwise static django admin.
|
|
|
43
43
|
from django.urls import path, include
|
|
44
44
|
|
|
45
45
|
urlpatterns = [
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
path("admin/", admin.site.urls),
|
|
47
|
+
path("dynamic-admin-form/", include("django_dynamic_admin_forms.urls")),
|
|
48
48
|
]
|
|
49
49
|
```
|
|
50
50
|
- In addition to the standard `fields` declaration, specify a list of `dynamic_fields`
|
|
@@ -65,23 +65,22 @@ Add simple interactions to the otherwise static django admin.
|
|
|
65
65
|
|
|
66
66
|
@admin.register(MyModel)
|
|
67
67
|
class MyModelAdmin(DynamicModelAdminMixin, admin.ModelAdmin):
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
68
|
+
fields = ("name", "city")
|
|
69
|
+
dynamic_fields = ("city",)
|
|
70
|
+
|
|
71
|
+
def get_dynamic_city_field(self, data):
|
|
72
|
+
# automatically choose first city that matches first letter of name
|
|
73
|
+
name = data.get("name")
|
|
74
|
+
if not name:
|
|
75
|
+
queryset = City.objects.all()
|
|
76
|
+
value = data.get("city")
|
|
77
|
+
else:
|
|
78
|
+
queryset = City.objects.filter(name__startswith=name[0])
|
|
79
|
+
value = queryset.first()
|
|
80
|
+
hidden = not queryset.exists()
|
|
81
|
+
return queryset, value, hidden
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
|
|
85
84
|
## How it works
|
|
86
85
|
Whenever a dynamic form changes, an event handler makes a request to a special endpoint, which returns new HTML to swap
|
|
87
86
|
into the existing form. This new HTML is directly generated by `django.contrib.admin`, so we only have to set the
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
- Add the module to `INSTALLED_APPS`:
|
|
12
12
|
```python
|
|
13
13
|
INSTALLED_APPS = (
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
"django_dynamic_admin_forms",
|
|
15
|
+
"django.contrib.admin",
|
|
16
16
|
)
|
|
17
17
|
```
|
|
18
18
|
Ensure that the `dynamic_admin_forms` comes before the
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
```python
|
|
25
25
|
TEMPLATES = [
|
|
26
26
|
{
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
|
28
|
+
"APP_DIRS": True,
|
|
29
29
|
},
|
|
30
30
|
]
|
|
31
31
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: django_dynamic_admin_forms
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: Add simple dynamic interaction to the otherwise static django admin.
|
|
5
5
|
Author-email: Ambient Digital <hello@ambient.digital>, Fabian Binz <fabian.binz@ambient.digital>
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -141,7 +141,6 @@ Add simple interactions to the otherwise static django admin.
|
|
|
141
141
|
return queryset, value, hidden
|
|
142
142
|
```
|
|
143
143
|
|
|
144
|
-
|
|
145
144
|
## How it works
|
|
146
145
|
Whenever a dynamic form changes, an event handler makes a request to a special endpoint, which returns new HTML to swap
|
|
147
146
|
into the existing form. This new HTML is directly generated by `django.contrib.admin`, so we only have to set the
|
|
@@ -96,7 +96,6 @@ Add simple interactions to the otherwise static django admin.
|
|
|
96
96
|
return queryset, value, hidden
|
|
97
97
|
```
|
|
98
98
|
|
|
99
|
-
|
|
100
99
|
## How it works
|
|
101
100
|
Whenever a dynamic form changes, an event handler makes a request to a special endpoint, which returns new HTML to swap
|
|
102
101
|
into the existing form. This new HTML is directly generated by `django.contrib.admin`, so we only have to set the
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.github/workflows/ci.yml
RENAMED
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/.pre-commit-config.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/docs/features/changelog.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/plugins/index.js
RENAMED
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/support/index.js
RENAMED
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/e2e/cypress/support/paths.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/fixtures/fixtures-dev.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/testapp/migrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/tests/test_admin_generic.py
RENAMED
|
File without changes
|
{django_dynamic_admin_forms-3.1.0 → django_dynamic_admin_forms-3.1.1}/tests/test_admin_unit.py
RENAMED
|
File without changes
|