How to customize the formset of InlineModelAdmin.

8 views
Skip to first unread message

Huan Lu

unread,
Nov 23, 2018, 12:19:33 PM11/23/18
to Django users
How to customize the formset of InlineModelAdmin.
Purpose: I want to customize the fields in InlineModelAdmin because I want to hide some fields.
My attempt:

class SKUInline(admin.TabularInline):
model = models.SKU
formset = modelformset_factory(models.SKU, fields=('values', 'price',))

@admin.register(models.Goods)
class GoodsAdmin(admin.ModelAdmin):
inlines = [
SKUInline,
]




Traceback (most recent call last):
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\core\handlers\exception.py", line 41, in inner
    response = get_response(request)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\core\handlers\base.py", line 187, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\core\handlers\base.py", line 185, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\options.py", line 552, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\utils\decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\views\decorators\cache.py", line 57, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\sites.py", line 224, in inner
    return view(request, *args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\options.py", line 1512, in change_view
    return self.changeform_view(request, object_id, form_url, extra_context)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\utils\decorators.py", line 67, in _wrapper
    return bound_func(*args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\utils\decorators.py", line 149, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\utils\decorators.py", line 63, in bound_func
    return func.__get__(self, type(self))(*args2, **kwargs2)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\options.py", line 1409, in changeform_view
    return self._changeform_view(request, object_id, form_url, extra_context)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\options.py", line 1467, in _changeform_view
    formsets, inline_instances = self._create_formsets(request, obj, change=True)
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\contrib\admin\options.py", line 1840, in _create_formsets
    formsets.append(FormSet(**formset_params))
  File "E:\Workspace\pyenv\szrz\lib\site-packages\django\forms\models.py", line 583, in __init__
    super(BaseModelFormSet, self).__init__(**defaults)
TypeError: __init__() got an unexpected keyword argument 'instance'
[23/Nov/2018 16:46:47] "GET /admin/goods/goods/1/change/ HTTP/1.1" 500 124714



Reply all
Reply to author
Forward
0 new messages