id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 13618 prepopulated_fields crashes with get_readonly_fields Artem Skoretskiy Tobias McNulty "If prepopulated field is marked as readonly then admin crashes: {{{ Traceback: File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/core/handlers/base.py"" in get_response 100. response = callback(request, *callback_args, **callback_kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/contrib/admin/options.py"" in wrapper 239. return self.admin_site.admin_view(view)(*args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/utils/decorators.py"" in _wrapped_view 76. response = view_func(request, *args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/views/decorators/cache.py"" in _wrapped_view_func 69. response = view_func(request, *args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/contrib/admin/sites.py"" in inner 190. return view(request, *args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/utils/decorators.py"" in _wrapper 21. return decorator(bound_func)(*args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/utils/decorators.py"" in _wrapped_view 76. response = view_func(request, *args, **kwargs) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/utils/decorators.py"" in bound_func 17. return func(self, *args2, **kwargs2) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/db/transaction.py"" in _commit_on_success 299. res = func(*args, **kw) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/contrib/admin/options.py"" in change_view 918. model_admin=self) File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/contrib/admin/helpers.py"" in __init__ 32. } for field_name, dependencies in prepopulated_fields.items()] File ""/home/tonnzor/projects/twangoo/twangoo-hg/django/forms/forms.py"" in __getitem__ 106. raise KeyError('Key %r not found in Form' % name) Exception Type: KeyError at /admin/twangoo/deal/3/ Exception Value: ""Key 'slug' not found in Form"" }}} Admin class: {{{ class DealAdmin(TwangooAdmin): prepopulated_fields = {""slug"": (""title"",)} readonly_fields = (""status"", ""preview_link"", ""image_height"", ""image_width"", ""currency"", ""newsletter_id"", ""closed_at"", ""short_url"") # must be tuple def get_readonly_fields(self, request, obj=None): if obj.status != 'draft': return ('slug',) + DealAdmin.readonly_fields return DealAdmin.readonly_fields }}} We need to disable editing slug if deal has already published (changing slug will break the link)." Bug closed contrib.admin dev Normal fixed tonn81@… Ben Spaulding rm_ Accepted 1 0 0 1 0 0