Friday, November 23, 2018

How to customize the formset of InlineModelAdmin.

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



--
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+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@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/72e724f6-616c-4e2b-98d1-0bde67c2772e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment