code: def check_failed_login(self):
          
          last_attempt = self.get_last_failed_access_attempt()
  
          if not last_attempt:
              # create a new entry
              user_access = self._FailedAccessAttemptModel(ip_address=self.ip)
          elif last_attempt:
              user_access = last_attempt
  
          if self.request.method == 'POST':
              if self.username is None:
                  raise DobermanImproperlyConfigured(
                      "Bad username form field, if you are using a custom field please configure: "
                      "DOBERMAN_USERNAME_FORM_FIELD via settings."
                  )
  
              if self.response.status_code != 302:
  
                  user_access.user_agent = self.request.META.get('HTTP_USER_AGENT', '<unknown user agent>')[:255]
                  user_access.username = self.username
                  user_access.failed_attempts += 1
                  user_access.params_get = self.request.GET
                  user_access.params_post = self.request.POST
  
                  if user_access.failed_attempts >= self.max_failed_attempts:
                      user_access.is_locked = True
  
                  user_access.save()
  
              elif self.response.status_code == 302 and not user_access.is_locked:
                  user_access.is_expired = True
                  user_access.save()
  
          return user_access
docs: 'Private method', check failed logins, it's used for wath_login decorator