Returns a dict of field name and cleaned value pairs to initialize the model.
        Beware, it aligns the lists of fields and row values with Nones to allow for adding fields not found in the CSV.
        Whitespace around the value of the cell is stripped.

def get_fields_dict(self, row):
        """
        Returns a dict of field name and cleaned value pairs to initialize the model.
        Beware, it aligns the lists of fields and row values with Nones to allow for adding fields not found in the CSV.
        Whitespace around the value of the cell is stripped.
        """
        return {k: getattr(self, 'clean_{}'.format(k), lambda x: x)(v.strip() if isinstance(v, str)
                                                                    else None)
                for k, v in zip_longest(self.get_fields(), row)}