code: def find_or_build(self, constructor, props):
      
      model = self.find_model(constructor, props)
      return model or constructor(**props)
docs: Looks for a model that matches the given dictionary constraints. If it is not found, a new
      model of the given type is constructed and returned.