Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#11855 closed (duplicate)

ImageField .path attribute does not take into account upload_to pre-save - Django 1.1

Reported by: djm Owned by: nobody
Component: File uploads/storage Version: 1.1
Severity: Keywords: FileField, ImageField, path, attribute
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no


I'm not sure if this was an intentional change with Django and I couldn't find a related ticket/general information on the subject so here goes:

With Django 1.0, when overriding the save() method on model that has an ImageField (let's name the field "logo"), the full (absolute) system path of the file was available by using self.logo.path before and after calling super(ModelName, self).save().

On a clean install of 1.1 however, with the field logo = models.ImageField(upload_to="uploads/img/logos/") and save() method as below:

def save(self):
    print self.logo.path
    super(Exhibitor, self).save()
    print self.logo.path

the following is observed:


As you can see, the "upload_to" part of the path is missing pre-save. Is this right - or should I just not be trying to use the .path attribute pre-save?

Change History (3)

comment:1 Changed 9 years ago by Karen Tracey

Resolution: duplicate
Status: newclosed

See #10788 and

It wasn't actually an intentional change but it was intentionally decided not to try to restore the old behavior.

comment:2 Changed 9 years ago by djm

I have read that page many a time and I still can't see how I missed that glaring fact. Many thanks.

comment:3 Changed 9 years ago by djm

Cc: mail@… removed
Note: See TracTickets for help on using tickets.
Back to Top