code: def find_or_create(self, constructor, props, *, comp=None):
      
      model = self.find_model(constructor, comp or props)
      if model is None:
        model = constructor(**props)
        self.insert_model(model)
      return model
docs: Looks for a model taht matches the given dictionary constraints. If it is not found, a new
      model of the given type is created and saved to the database, then returned.