title: Django - passing extra arguments into upload_to callable function
body: <p>I know that you can use the upload_to parameter to pass a callable function to dynamically alter a FileFied/ImageField, etc. in a Django model. </p>
  
  <p>The function called by upload_to is passed 2 variables, the instance of the non-saved-in-the-database file (instance) and the filename of said instance (filename).</p>
  
  <p>If I'm using an ImageField in a model along with other (Char, etc.) fields, is it possible to get the values from those fields into that same callable function.</p>
  
  <p>for instance.</p>
  
  <pre><code>class Badge(models.Model):
  
    def format_badge_name(instance, filename):
      _filetype = os.path.splitext(filename)[1]
      _category = 'foo'
      _name = os.path.splitext(filename)[0]
      _filename = "%s-%s-%s%s" % (_category, _name, 'private', _filetype)
  
      return "badges/%s" % _filename
  
    name = models.CharField(max_length=16, help_text="Name for Badge")
    file = models.ImageField(upload_to=format_badge_name)
  </code></pre>
  
  <p>Is it possible to pass the values from name (self.name?) into format_badge_name?</p>