gpt4 book ai didi

python - 如何检查 Django Admin 中的 FileField 是否被修改?

转载 作者:行者123 更新时间:2023-11-28 20:54:26 25 4
gpt4 key购买 nike

我正在尝试使用不应修改的文件创建模型。但是文件的注释可以。

这是我所做的,但我们不能修改评论。如何测试是否已发送新文件(使用浏览按钮),并且仅在这种情况下创建模型的新实例?如果没有上传新文件,请更新评论。

admin.py

class CGUAdminForm(forms.ModelForm):
class Meta:
model = ConditionsUtilisation

def clean_file(self):
if self.instance and self.instance.pk is not None:
raise forms.ValidationError(_(u'You cannot modify the file. Thank you to create a new instance.'))
# do something that validates your data
return self.cleaned_data["file"]

class CGUAdmin(admin.ModelAdmin):
form = CGUAdminForm

admin.site.register(ConditionsUtilisation, CGUAdmin)

模型.py

class ConditionsUtilisation(models.Model):
date = models.DateField(_(u'Date d\'upload'), editable=False, auto_now_add=True)
comment = models.TextField(_(u'Commentaire de modification'))
file = models.FileField(_(u'CGU'), upload_to='subscription/cgu/', storage=CGUFileSystemStorage())

最佳答案

if 'file' in form.changed_data:
"""
File is changed
"""
raise forms.ValidationError("No, don't change the file because blah blah")
else:
"""
File is not changed
"""

关于python - 如何检查 Django Admin 中的 FileField 是否被修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1628676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com