nodes: 0, module; 1, function_definition; 2, function_name:initial; 3, parameters; 4, block; 5, identifier:self; 6, identifier:request; 7, list_splat_pattern; 8, dictionary_splat_pattern; 9, expression_statement; 10, expression_statement; 11, assert_statement; 12, if_statement; 13, expression_statement; 14, identifier:args; 15, identifier:kwargs; 16, comment:"""
          Overrides DRF's `initial` in order to set the `_sorting_field` from corresponding property in view.
          Protected property is required in order to support overriding of `sorting_field` via `@property`, we do this
          after original `initial` has been ran in order to make sure that view has all its properties set up.
          """; 17, call; 18, not_operator; 19, call; 20, attribute; 21, block; 22, assignment; 23, attribute; 24, argument_list; 25, parenthesized_expression; 26, attribute; 27, argument_list; 28, identifier:self; 29, identifier:sorting_field; 30, expression_statement; 31, expression_statement; 32, attribute; 33, attribute; 34, call; 35, identifier:initial; 36, identifier:request; 37, list_splat; 38, dictionary_splat; 39, boolean_operator; 40, string; 41, line_continuation:\; 42, identifier:format; 43, attribute; 44, call; 45, assignment; 46, identifier:self; 47, identifier:_sorting_fields; 48, identifier:self; 49, identifier:sorting_fields; 50, identifier:super; 51, argument_list; 52, identifier:args; 53, identifier:kwargs; 54, attribute; 55, attribute; 56, string_content:{} should either define ``sorting_field`` or ``sorting_fields`` property, not both.; 57, attribute; 58, identifier:__name__; 59, attribute; 60, argument_list; 61, attribute; 62, list; 63, identifier:FlatMultipleModelMixin; 64, identifier:self; 65, identifier:self; 66, identifier:sorting_field; 67, identifier:self; 68, identifier:sorting_fields; 69, identifier:self; 70, identifier:__class__; 71, identifier:warnings; 72, identifier:warn; 73, string; 74, identifier:DeprecationWarning; 75, identifier:self; 76, identifier:sorting_fields; 77, attribute; 78, string_content:``sorting_field`` property is pending its deprecation. Use ``sorting_fields`` instead.; 79, identifier:self; 80, identifier:sorting_field
code: def initial(self, request, *args, **kwargs):
          """
          Overrides DRF's `initial` in order to set the `_sorting_field` from corresponding property in view.
          Protected property is required in order to support overriding of `sorting_field` via `@property`, we do this
          after original `initial` has been ran in order to make sure that view has all its properties set up.
          """
          super(FlatMultipleModelMixin, self).initial(request, *args, **kwargs)
          assert not (self.sorting_field and self.sorting_fields), \
              '{} should either define ``sorting_field`` or ``sorting_fields`` property, not both.' \
              .format(self.__class__.__name__)
          if self.sorting_field:
              warnings.warn(
                  '``sorting_field`` property is pending its deprecation. Use ``sorting_fields`` instead.',
                  DeprecationWarning
              )
              self.sorting_fields = [self.sorting_field]
          self._sorting_fields = self.sorting_fields