code: def update_by_field(self, field_name, field_value, fields, typecast=False, **options):
          
          record = self.match(field_name, field_value, **options)
          return {} if not record else self.update(record['id'], fields, typecast)
docs: Updates the first record to match field name and value.
          Only Fields passed are updated, the rest are left as is.
  
          >>> record = {'Name': 'John', 'Tel': '540-255-5522'}
          >>> airtable.update_by_field('Name', 'John', record)
  
          Args:
              field_name (``str``): Name of field to match (column name).
              field_value (``str``): Value of field to match.
              fields(``dict``): Fields to update.
                  Must be dictionary with Column names as Key
              typecast(``boolean``): Automatic data conversion from string values.
  
          Keyword Args:
              view (``str``, optional): The name or ID of a view.
                  See :any:`ViewParam`.
              sort (``list``, optional): List of fields to sort by.
                  Default order is ascending. See :any:`SortParam`.
  
          Returns:
              record (``dict``): Updated record