docs: def is_valid(self):
          """Returns True if all the fields are valid.
  
          It first validates the fields (required, unique, etc.)
          and then calls the validate method.
          """
          self._errors = []
          for field in self.fields:
              try:
                  field.validate(self)
              except FieldValidationError, e:
                  self._errors.extend(e.errors)
          self.validate()
          return not bool(self._errors)