I'm also hitting this problem. Whenever I'm doing POST/PUT requests in browsable API and it fails with 500 then a GET request is automatically fired against the same url and that's what I'm going to see in the browser. The stack trace is still logged in my log file.
Also if GET request fails then the correct django full debug/stacktrace error page is shows and no extra requests are fired. Have not been able to figure out the problem
@akarambir Not convinced that'd actually fix things, as I don't think it's where the issue is, tho I could be wrong. If you've confirmed that the change does result in fixing the required behavior then I'll reopen as described on the ticket. Thanks!
@tomchristie Problem is in Browsable API only because Ajax Calls in Debug Mode gets response in text/plain from django and rest's xhr redirects it as it is not text/html. Please check code at following lines: