code: async def serialize(self, native=False):
          '''
          Returns a serialized from of the model taking into account projection rules and ``@serialize`` decorated methods.
          
          :param native:
              Deternines if data is serialized to Python native types or primitive form. Defaults to ``False``
          '''
          data = {}
          # iterate through all fields
          for field_name, field in self._fields.items():
              # serialize field data
              raw_data = self._data.get(field_name)
              # add field's data to model data based on projection settings
              if field._projection != None:  # noqa E711
                  field_data = await field.serialize(raw_data, native)
                  if field_data:
                      data[field_name] = field_data
                  elif field._projection == True: # noqa E711
                      data[field_name] = None
  
          # iterate through all export methods
          for name, func in self._serialize_methods.items():
              data[name] = await func(self)
          return datync def serialize(self, native=False):
          '''
          Returns a serialized from of the model taking into account projection rules and ``@serialize`` decorated methods.
          
          :param native:
              Deternines if data is serialized to Python native types or primitive form. Defaults to ``False``
          '''
          data = {}
          # iterate through all fields
          for field_name, field in self._fields.items():
              # serialize field data
              raw_data = self._data.get(field_name)
              # add field's data to model data based on projection settings
              if field._projection != None:  # noqa E711
                  field_data = await field.serialize(raw_data, native)
                  if field_data:
                      data[field_name] = field_data
                  elif field._projection == True: # noqa E711
                      data[field_name] = None
  
          # iterate through all export methods
          for name, func in self._serialize_methods.items():
              data[name] = await func(self)
          return data
docs: Returns a serialized from of the model taking into account projection rules and ``@serialize`` decorated methods.
          
          :param native:
              Deternines if data is serialized to Python native types or primitive form. Defaults to ``False``