def METHOD_NAME(self):
    """
    Transaction is eventually managed by outer-most transaction atomic
    block. DRF do not try to interfere here.
    We let django deal with the transaction when it will catch the Exception.
    """
    request = factory.post('/')
    with self.assertNumQueries(3):
        # 1 - begin savepoint
        # 2 - insert
        # 3 - release savepoint
        with transaction.atomic():
            self.assertRaises(Exception, self.view, request)
            assert not transaction.get_rollback()
    assert BasicModel.objects.count() == 1