title: How to add additional context to a django form widget
body: <p>the basic Django <code>CheckboxSelectMultiple</code> widget allows for a <code>label</code> and <code>value</code> to be passed through to the template.  I want to add 2 additional fields from a model but I cannot work out how, although I believe it is through subclassing <code>get_context</code></p>
  
  <p>I have this model and I would like to include the <code>icon</code> and <code>description</code> in the widget</p>
  
  <pre><code>class AddOnItem(models.Model):
      name = models.CharField(
          verbose_name = 'AddOn Title',
          max_length = 50
      )
      description = models.CharField(
          verbose_name = 'Description',
          max_length = 255
      )
      icon = models.FileField(upload_to="addon_icons/", blank=True, null=True)
      active = models.BooleanField(default=False)
  </code></pre>
  
  <p>Within my form I've specified this widget </p>
  
  <pre><code>class JobPostWizardForm1(forms.ModelForm):
      class Meta:
          model = Job
          fields = [
              ...,
              'addons'
              ]
  
      def __init__(self, *args, **kwargs):
          super().__init__(*args, **kwargs)
          ...
  
          self.fields['addons'].widget = AddOnCheckboxSelectMultiple()
          self.fields['addons'].queryset = AddOnItem.objects.filter(active=True)
  </code></pre>
  
  <p>And I've subclassed the <code>CheckboxSelectMultiple</code> widget as</p>
  
  <pre><code>class AddOnCheckboxSelectMultiple(forms.CheckboxSelectMultiple):
      template_name = 'jobboard/widgets/addon_checkbox_select.html'
      option_template_name = 'jobboard/widgets/addon_checkbox_option.html'
  
      def get_context(self, name, value, attrs):
          context = super().get_context(name, value,attrs)
          return context
  </code></pre>
  
  <p>Obviously this doesn't do anything at the moment but I want to add something like </p>
  
  <pre><code>context['icon'] = obj.icon
  </code></pre>
  
  <p>but I cannot work out how to do this.  That is, I do not follow how Django widgets are getting the object.</p>
  
  <p>I would greatly appreciate any help available - thanks</p>