While looking into how to hide those 500 errors, it occurred to me that a 500 error is the wrong thing.  If the data sent to the server is wrong, it should return a 400 (Bad Request).  And so just throwing an exception here causing a 500 isn't the right way to go.  I hunted around a bit, and here's the right way to initiate a 400 error:
    except KeyError:
        raise ImmediateHttpResponse(response=http.HttpBadRequest(pv_required_msg))

and at the top, import these:

    from tastypie import http
    from tastypie.exceptions import ImmediateHttpResponse

Then change your tests to expect 400s instead and you're good.