管理表单数据丢失或被篡改时,尝试在管理界面保存表单时会返回"ManagementForm数据丢失或被篡改"错误。

2024-09-26 18:17:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Document模型上有一个ArrayModelField,但是当我试图保存Admin上的值时,它返回了一个['ManagementForm data is missing or has been tampered with']错误。我一直在google上搜索这个错误,它只在使用formsets时显示出来,但我甚至没有在这里使用formsets。我认为我的语法是正确的,files同时具有{}和{}。DocumentForm类只是带有字段__all__的普通表单类,因此files字段已经包含在内。我错过什么了吗?或者我应该重写我的DocumentForm代码并使用formsets?在

class Document(TimestampedModel):
    files = models.ArrayModelField(
        model_container=DocumentFile,
        model_form_class=DocumentFileForm,
        default=[],
        blank=True,
        null=True,
    )

    class Meta:
        abstract = True

class DocumentFile(TimestampedModel):
    filename = models.CharField(max_length=250)
    file = models.FileField(
        _('File'),
        null=True,
        blank=True,
        default=None
    )

Tags: truedefaultmodelmodels错误filesdocumentnull

热门问题