title: overriding get_fields in ModelAdmin return this fiels on all model
body: <p>I need to add languages related fields to ModelAdmin, for save as json after.</p>
  
  <p>But these fields appear in all the models of my applications. Why?</p>
  
  <p>For example with a simple app:</p>
  
  <p>models.py:</p>
  
  <pre><code>from django.db import models
  
  class TestModel2(models.Model):
      txt_field = models.TextField()
  
  class TestModel(models.Model):
      txt_field = models.TextField()
  </code></pre>
  
  <p>admin.py:</p>
  
  <pre><code>from moduleadmin.models import TestModel, TestModel2
  from django.conf import settings
  from django import forms
  
  class TestModelAdmin(admin.ModelAdmin):
  
      def get_fields(self, request, obj=None):
          my_fields = super(TestModelAdmin, self).get_fields(request, obj)
          new_fields = [(lang[0], forms.CharField(max_length=50, required=(lang[0] == settings.LANGUAGE_CODE))
              ) for lang in settings.LANGUAGES]
          for f in new_fields:
              if f[0] not in my_fields:
                  my_fields.append(f[0])
              self.form.declared_fields.update({f[0]: f[1]})
          return my_fields
  
  admin.site.register(TestModel, TestModelAdmin)
  admin.site.register(TestModel2)
  </code></pre>
  
  <p>and in settings.py I've added:</p>
  
  <pre><code>
  LANGUAGES = (
      ('fr', 'French'),
      ('en', 'English'),
  )
  </code></pre>
  
  <p>So if I try to add one  TestModel2 entry, It's ok.
  But if i go to TestModel add entry form, and return to TestModel2 add, I've the two fields appear in forms.</p>
  
  <p>Can you help me? Or maybe there's a better approach?</p>
  
  <p>Thanks.</p>