code: def get_form(self, request, obj=None, **kwargs):
          
          language = get_language_from_request(request)
          form = super(ArticleAdmin, self).get_form(
              request, obj,
              form=(obj and ArticleForm or ArticleCreateForm),
              **kwargs
          )
          # get_form method operates by overriding initial fields value which
          # may persist across invocation. Code below deepcopies fields definition
          # to avoid leaks
          for field in tuple(form.base_fields.keys()):
              form.base_fields[field] = copy.deepcopy(form.base_fields[field])
  
          if 'language' in form.base_fields:
              form.base_fields['language'].initial = language
  
          if obj:
              title_obj = obj.get_title_obj(language=language, fallback=False, force_reload=True)
  
              if hasattr(title_obj, 'id'):
                  for name in ('title', 'description', 'page_title', 'menu_title', 'meta_description', 'image'):
                      if name in form.base_fields:
                          form.base_fields[name].initial = getattr(title_obj, name)
                  try:
                      slug = self.SLUG_REGEXP.search(title_obj.slug).groups()[settings.CMS_ARTICLES_SLUG_GROUP_INDEX]
                  except AttributeError:
                      warnings.warn('Failed to parse slug from CMS_ARTICLES_SLUG_REGEXP. '
                                    'It probably doesn\'t correspond to CMS_ARTICLES_SLUG_FORMAT.')
                      slug = title_obj.slug
                  form.base_fields['slug'].initial = slug
  
          return form
docs: Get ArticleForm for the Article model and modify its fields depending on
          the request.