Opened 8 years ago
Closed 8 years ago
#27383 closed Bug (worksforme)
Regression: `FileField(default=None)` now never upload a file through a ModelForm
Reported by: | Maxime Lorant | Owned by: | nobody |
---|---|---|---|
Component: | File uploads/storage | Version: | 1.10 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
We had in our code the following line (don't ask why, I don't know):
class SomeModel(models.Model): foo = ... bar = ... file = models.FileField(null=True, blank=True, default=None) class SomeModelForm(forms.ModelForm): class Meta: fields = ('foo', 'bar', 'file', )
It was working until Django 1.9.x, but switching to Django 1.10, submission of files through a ModelForm stopped working. I found a solution by removing the useless default=None
. Even though its usefulness can be questioned, it looks like it is a regression not documented in the release notes.
Should we bother adding it or change back the behaviour?
Change History (4)
comment:1 by , 8 years ago
Description: | modified (diff) |
---|
comment:2 by , 8 years ago
comment:3 by , 8 years ago
I am using Django 1.10.2. I could give a project example when I have the time and if I can reproduce it from scratch :-) I am using S3 but I don't think the storage used is important here.
comment:4 by , 8 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
I cannot reproduce a problem using this model and uploading through the default admin add/change view:
class FileModel(models.Model): file = models.FileField(default=None, null=True, blank=True)
Just to be sure, are you using Django 1.10.2? (see #27186 for a
FileInput
fix for fields with adefault
). As an aside, according to #10244,FileField
can't benull
anyway.