Discussion:
How to customize the formset of InlineModelAdmin?
Huan Lu
2018-11-23 09:04:05 UTC
Permalink
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



who can help me? thank you all!
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+***@googlegroups.com.
To post to this group, send email to django-***@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/7f454c4b-d101-4d68-bef4-b5444e444ece%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...