I don't think ImproperlyConfigured fits here as the error wouldn't be so much about what the user is doing.  In theory an exception should never be thrown assuming I've covered the only discrepancy that occurs here.  I added the raise exception just in case there are other potential Django issues that creep up in the future.