title: Issue with Dynamically loaded limit string using Flask-Limiter
body: <p>I'm following the <a href="https://flask-limiter.readthedocs.io/en/stable/#decorators" rel="nofollow noreferrer">docs</a>, for Dynamically loaded limit string(s). Basically, I'm trying to implement company specific RATE LIMIT. 
  Following is the comapny model:</p>
  
  <pre><code># company model
      class Company(db.Model):
          id = db.Column(db.Integer, primary_key=True)
          name = db.Column(db.String(100), unique=True)
          limit = db.Column(db.String(50), default=DEFAULT_LIMIT)
  
          def __init__(self, name, limit):
              self.name = name
              self.limit = limit
  </code></pre>
  
  <p>this is my limiter.py:</p>
  
  <pre><code>DEFAULT_LIMIT = "100/day, 10/minute"
  
  app = Flask(__name__)
  
  # defining limiter
  limiter = Limiter(
      app,
      key_func=get_remote_address,
      default_limits=[DEFAULT_LIMIT] # this is default limit set for app
  )
  
  def get_company_limit():
      try:
          company = Company.query.get(request.view_args['id'])
          return app.config.get("CUSTOM_LIMIT", company.limit)
      except:
          abort(403) # if company not found then raise forbidden
  
  # an end point
  @app.route("/company/&lt;id&gt;", methods=["GET"])
  @limiter.limit(get_company_limit)
  def get_company(id):
      return "success"
  
  if __name__ == '__main__':
      app.run(debug=True)
  </code></pre>
  
  <p>lets suppose these are the companies:</p>
  
  <pre><code>[
      {
          "name": "company1"
          "limit": "100/day, 5/minute",
      },
      {
         "name": "company2"
          "limit": "100/day, 10/minute",
      },
      {
          "name": "company3"
          "limit": "50/day, 5/minute",
      },
      {
         "name": "company4"
          "limit": "100/day, 2/minute",
      }
  ]
  </code></pre>
  
  <p><strong>PROBLEM:</strong> 
  Dynamically fetched limit is working fine with comapnies 1, 2 and 4. But as you can see there is some matching limit (5/minute) is for company1 and company3, limit is being shared for these companies whatever the the order of calling api end point. On hitting the end point, company1 and company3 share the limit counter of 5.</p>
  
  <p>For example if end point is called with company1 id for 3 times, on calling with the company3 id, after 2 success responses, limiter will raise 429. And also raise 429 for company1.</p>
  
  <p>Unable to understand this behaviour and what I've missed to understand this?</p>