code: def read(self, vals):
          
          i = 0
          {%- for field in fields %}
          {%- if field.is_list %}
          count = int(vals[i])
          i += 1
          for _ in range(count):
              obj = {{field.object_name}}()
              obj.read(vals[i:i + obj.field_count])
              self.add_{{field.field_name}}(obj)
              i += obj.field_count
          {%- else %}
          if len(vals[i]) == 0:
              self.{{field.field_name}} = None
          else:
              self.{{field.field_name}} = vals[i]
          i += 1
          {%- endif %}
          {%- endfor %}
docs: Read values
      
          Args:
              vals (list): list of strings representing values