Python Django Admin ValidationError在使用内联线保存时出错

Python Django Admin ValidationError在使用内联线保存时出错,python,css,django,django-forms,django-admin,Python,Css,Django,Django Forms,Django Admin,在模型编辑页面点击管理员中的save时,我得到以下回溯: Traceback (most recent call last): File "lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "lib/python2.

在模型编辑页面点击管理员中的save时,我得到以下回溯:

Traceback (most recent call last):
 File "lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
   response = wrapped_callback(request, *callback_args, **callback_kwargs)
 File "lib/python2.7/site-packages/django/contrib/admin/options.py", line 616, in wrapper
   return self.admin_site.admin_view(view)(*args, **kwargs)
 File "lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view
   response = view_func(request, *args, **kwargs)
 File "lib/python2.7/site-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
   response = view_func(request, *args, **kwargs)
 File "lib/python2.7/site-packages/django/contrib/admin/sites.py", line 233, in inner
   return view(request, *args, **kwargs)
 File "lib/python2.7/site-packages/django/contrib/admin/options.py", line 1519, in change_view
   return self.changeform_view(request, object_id, form_url, extra_context)
 File "lib/python2.7/site-packages/django/utils/decorators.py", line 34, in _wrapper
   return bound_func(*args, **kwargs)
 File "lib/python2.7/site-packages/django/utils/decorators.py", line 110, in _wrapped_view
   response = view_func(request, *args, **kwargs)
 File "lib/python2.7/site-packages/django/utils/decorators.py", line 30, in bound_func
   return func.__get__(self, type(self))(*args2, **kwargs2)
 File "lib/python2.7/site-packages/django/utils/decorators.py", line 145, in inner
   return func(*args, **kwargs)
 File "lib/python2.7/site-packages/django/contrib/admin/options.py", line 1466, in changeform_view
   if all_valid(formsets) and form_validated:
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 439, in all_valid
   if not formset.is_valid():
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 304, in is_valid
   self.errors
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 278, in errors
   self.full_clean()
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 325, in full_clean
   for i in range(0, self.total_form_count()):
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 115, in total_form_count
   return min(self.management_form.cleaned_data[TOTAL_FORM_COUNT], self.absolute_max)
 File "lib/python2.7/site-packages/django/forms/formsets.py", line 97, in management_form
   code='missing_management_form',
ValidationError: [u'I dati del ManagementForm sono mancanti oppure sono stati manomessi’]
意大利语中的错误消息为

ManagementForm数据丢失或已被篡改

我还注意到POST请求包含一个额外的部分,名称中带有前缀,id为空,看起来可疑:

------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="csrfmiddlewaretoken"

0123456789abcdef
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-TOTAL_FORMS"

41
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-INITIAL_FORMS"

41
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-MIN_NUM_FORMS"

0
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-MAX_NUM_FORMS"

1000
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-0-id"

405718
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-0-property”

87462

[...]

------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-40-id"

462250
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-40-property"

87462
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-__prefix__-id"


------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="model_set-__prefix__-property"

87462
------WebKitFormBoundaryHni3TflxO2xxoMnc
Content-Disposition: form-data; name="_save"

Salva
------WebKitFormBoundaryHni3TflxO2xxoMnc--
建议显示:没有从forms.css(空表单类)中提取,但在我的例子中似乎是这样。我在看Chrome开发工具

我的内联线定义为:

class ModelInline1(admin.TabularInline):
    model = Model1
    show_change_link = True
    can_delete = False
    extra = 0
    fields = ['created', 'type', 'formatted_text',
              'picture_tag', 'from_seller', 'is_payment']
    readonly_fields = ['created', 'type', 'formatted_text',
                       'picture_tag', 'from_seller', 'is_payment']

class ModelInline2(admin.TabularInline):
    model = Model2
    show_change_link = True
    extra = 0
    fields = ['created', 'place', 'status', 'code']
    readonly_fields = ['created', 'place', 'status', 'code']

@admin.register(models.Conversation)
class ModelAdmin(FSMTransitionMixin, admin.ModelAdmin):
    fsm_field = ['status']
    list_display = ['id', 'buyer', 'item', 'status', 'last_message', 'created']
    list_filter = ['status', 'created']
    fields = ['status', 'created', 'last_message', 'tracking_number']
    readonly_fields = ['status', 'created', 'last_message', 'tracking_number']
    inlines = [ModelInline1, ModelInline2]
    ordering = ['-created']
    search_fields = [
        'id',
        'buyer__username',
        'item__name',
        'item__user__username'
    ]

错误基本上是这样的。
我没有注意到第二行完全丢失了。当内联中使用的模型的
\uuuuuuunicode\uuuuu
方法引发错误时,就会发生这种情况。不幸的是,在这种情况下,管理员在没有呈现内联的情况下以静默方式失败,但是保存表单失败,原因是
ValidationError

您还有自定义表单吗?发布完整的管理代码我添加了管理代码,没有自定义表单。那么ManagementForm从何而来?内联线正在生成表单集,需要一个ManagementForm。管理员生成它。尝试在没有FSM混合的情况下复制错误。可能是该应用程序存在缺陷,或者不支持您的Django版本。