diff options
| author | Hasan Ramezani <hasan.r67@gmail.com> | 2021-09-16 10:34:10 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-09-21 13:12:09 +0200 |
| commit | 2f0f30f973363a59c20f204f9351724fb2ce7327 (patch) | |
| tree | c9ec9df9e9d8bda1364ece47159fb2ba57559d3a /tests/admin_inlines/admin.py | |
| parent | 1bb8200f2f900a0cb200adfb0b0e11ec6f69fdd2 (diff) | |
Fixed #33111 -- Fixed passing object to ModelAdmin.get_inlines() when editing in admin change view.
ModelAdmin.get_inlines() should get an unmutated object when creating
formsets during POST request.
Diffstat (limited to 'tests/admin_inlines/admin.py')
| -rw-r--r-- | tests/admin_inlines/admin.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/tests/admin_inlines/admin.py b/tests/admin_inlines/admin.py index c444526241..116556db7e 100644 --- a/tests/admin_inlines/admin.py +++ b/tests/admin_inlines/admin.py @@ -11,8 +11,9 @@ from .models import ( Inner4Tabular, Inner5Stacked, Inner5Tabular, NonAutoPKBook, NonAutoPKBookChild, Novel, NovelReadonlyChapter, OutfitItem, ParentModelWithCustomPk, Person, Poll, Profile, ProfileCollection, - Question, ReadOnlyInline, ShoppingWeakness, Sighting, SomeChildModel, - SomeParentModel, SottoCapo, Teacher, Title, TitleCollection, + Question, ReadOnlyInline, ShoppingWeakness, ShowInlineChild, + ShowInlineParent, Sighting, SomeChildModel, SomeParentModel, SottoCapo, + Teacher, Title, TitleCollection, ) site = admin.AdminSite(name="admin") @@ -371,6 +372,17 @@ class ChildHiddenFieldOnSingleLineStackedInline(admin.StackedInline): fields = ('name', 'position') +class ShowInlineChildInline(admin.StackedInline): + model = ShowInlineChild + + +class ShowInlineParentAdmin(admin.ModelAdmin): + def get_inlines(self, request, obj): + if obj is not None and obj.show_inlines: + return [ShowInlineChildInline] + return [] + + site.register(TitleCollection, inlines=[TitleInline]) # Test bug #12561 and #12778 # only ModelAdmin media @@ -402,6 +414,7 @@ site.register(Course, ClassAdminStackedHorizontal) site.register(CourseProxy, ClassAdminStackedVertical) site.register(CourseProxy1, ClassAdminTabularVertical) site.register(CourseProxy2, ClassAdminTabularHorizontal) +site.register(ShowInlineParent, ShowInlineParentAdmin) # Used to test hidden fields in tabular and stacked inlines. site2 = admin.AdminSite(name='tabular_inline_hidden_field_admin') site2.register(SomeParentModel, inlines=[ChildHiddenFieldTabularInline]) |
