code: def get_fieldsets(self, request, obj=None):
          
          app_config_default = self._app_config_select(request, obj)
          if app_config_default is None and request.method == 'GET':
              return super(PostAdmin, self).get_fieldsets(request, obj)
          if not obj:
              config = app_config_default
          else:
              config = obj.app_config
  
          fsets = deepcopy(self._fieldsets)
          if config:
              abstract = bool(config.use_abstract)
              placeholder = bool(config.use_placeholder)
              related = bool(config.use_related)
          else:
              abstract = get_setting('USE_ABSTRACT')
              placeholder = get_setting('USE_PLACEHOLDER')
              related = get_setting('USE_RELATED')
          if abstract:
              fsets[0][1]['fields'].append('abstract')
          if not placeholder:
              fsets[0][1]['fields'].append('post_text')
          if get_setting('MULTISITE') and not self.has_restricted_sites(request):
              fsets[1][1]['fields'][0].append('sites')
          if request.user.is_superuser:
              fsets[1][1]['fields'][0].append('author')
          if apps.is_installed('djangocms_blog.liveblog'):
              fsets[2][1]['fields'][2].append('enable_liveblog')
          filter_function = get_setting('ADMIN_POST_FIELDSET_FILTER')
          if related and Post.objects.namespace(config.namespace).active_translations().exists():
              fsets[1][1]['fields'][0].append('related')
          if callable(filter_function):
              fsets = filter_function(fsets, request, obj=obj)
          return fsets
docs: Customize the fieldsets according to the app settings
  
          :param request: request
          :param obj: post
          :return: fieldsets configuration