Opened 9 years ago
Closed 9 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 , 9 years ago
| Description: | modified (diff) | 
|---|
comment:2 by , 9 years ago
comment:3 by , 9 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 , 9 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
FileInputfix for fields with adefault). As an aside, according to #10244,FileFieldcan't benullanyway.