code: def validate(self):
          
          for name, col in self._columns.items():
              v = getattr(self, name)
              if v is None and not self._values[name].explicit and col.has_default:
                  v = col.get_default()
              val = col.validate(v)
              self._set_column_value(name, val)
docs: Cleans and validates the field values