title: Custom ModelAdmin: allow admin class validation to ignore fields in a fieldset?
body: <p>I am writing a little app to allow an <a href="https://www.addthis.com/" rel="nofollow noreferrer">AddThis</a> share field in the django admin change list to allow the user share the object they are currently editing (as well as seeing the share count):</p>
  
  <p><img src="https://i.stack.imgur.com/nJP0Z.png" alt="enter image description here"></p>
  
  <p>Taking a simple BlogEntry as an example, I have created a custom ModelAdmin:</p>
  
  <pre><code>class AddThisAdmin(admin.ModelAdmin):
      addthis_config = {
          'title_field' : None,
          'description_field' : None, 
          'url_field' : None,
          'image_field' : None,
      }
  
      def get_form(self, request, obj=None, *args, **kwargs):
          metaform = super(AddThisAdmin, self).get_form(request, obj, **kwargs)
          if obj:
              # Grab users config and find the fields they specified ...
              metaform.base_fields['add_this'] = AddThisField(self.add_this)
          return metaform
  </code></pre>
  
  <p>Which is inherited in the users BlogEntryAdmin like so:</p>
  
  <pre><code>class BlogEntryAdmin(admin.ModelAdmin, AddThisAdmin):
      addthis_config = {
          'title_field' : 'blog_title',
          'description_field' : 'blurb',
      }
  </code></pre>
  
  <p>where the <code>addthis_config</code> allows the user to specify the fields in their BlogEntry object from where to pull the title/description/url and image used in AddThis. This all works really nicely until I decide to use a custom fieldset in the BlogEntryAdmin:</p>
  
  <pre><code>class BlogEntryAdmin(admin.ModelAdmin, AddThisAdmin):
      addthis_config = {
          'title_field' : 'blog_title',
          'description_field' : 'blurb',
      }
      fieldsets = [{ ... }]
  </code></pre>
  
  <blockquote>
    <p>'BlogEntry.fieldsets<a href="https://www.addthis.com/" rel="nofollow noreferrer">0</a>['fields']' refers to field 'add_this' that is missing from the form. </p>
  </blockquote>
  
  <p>I understand that this is happening because the django admin runs a validation on the fieldsets (django.contrib.admin.validation) on the BlogEntryAdmin class before it is actually instantiated (and my custom field is inserted).</p>
  
  <p><strong>tldr</strong> : Is there a way I can tell the <code>django.contrib.admin.validation</code> to ignore the field in the fieldset? </p>