I don't explicitly call it myself.
In fact, the _save_FIELD_file method (not save_avatar_file) is
automatically called when I save a UserProfile object in the admin
interface, or using a custom form generated by form_for_instance.

Any idea?

On Dec 10, 11:53 pm, Thomas <[EMAIL PROTECTED]> wrote:
> I saw something similar with overridden  save(). How/where do you call
> it?
>
> Thomas
>
> On Dec 10, 1:46 pm, Julien <[EMAIL PROTECTED]> wrote:
>
> > Hi all,
>
> > I'm struggling to understand why, when I upload an image field (either
> > from the admin interface or from a custom view), the overriden
> > save_FOO_file method is never called.
>
> > In the following example, the "save_avatar_file" method is never
> > called. However the "_save_FIELD_file" method is called.
> > It looks a bit dirty to me, and I'd like to get rid of the
> > "_save_FIELD_file method", to only use a method for a given field (in
> > this case, "save_avatar_file").
>
> > Do you know why it's not working as expected?
>
> > class UserProfile(models.Model):
> >     user = models.ForeignKey(User, unique=True)
> >     avatar = models.ImageField(upload_to='/', null=True)
> >     def _save_FIELD_file(self, field, filename, raw_contents, save):
> >         if field.attname == 'avatar':
> >             image = Image.open(StringIO.StringIO(raw_contents))
> >             self.avatar = '%s.%s' % (self.user.id,
> > image.format.lower())
> >             filename = settings.PROFILE_AVATAR_UPLOAD_DIR +
> > self.avatar
> >             image.save(filename)
> >             if save:
> >                 self.save()
> >     def save_avatar_file(self, filename, raw_contents, save):
> >         image = Image.open(StringIO.StringIO(raw_contents))
> >         self.avatar = '%s.%s' % (self.user.id, image.format.lower())
> >         filename = settings.PROFILE_AVATAR_UPLOAD_DIR + self.avatar
> >         image.save(filename)
> >         if save:
> >             self.save()
>
> > Cheers,
>
> > Julien
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to