I'm using Selenium (python bindings, with Django) for automated web app testing.  My page has a form with a button, and the button has a .click() handler that captures the click (i.e. the form is not immediately submitted).  The handler runs function2(), and when function2() is done, it submits the form. 
In my test with Selenium, I fill in the form, then click the Submit button.  I want to verify that the form is eventually submitted (resulting in a POST request).  The form POSTs and then redirects with GET to the same url, so I can't check for a new url.  I think I need to check that the POST request occurs.  How do I check for successful form submission?
Alternatively I could check at the database level to see that some new object is created, but that would make for a bad "unit" test.
I guess it depends on how deep down the rabbit hole you want to go. 
If you're building a test for the functional side from the user's perspective, and your GET action results in changes on the webpage, then trigger the submit with selenium, then wait for the changes to propagate to the webpage (like waiting for one/more elements to change value or waiting for an element to appear)
If you want to build an unit test, then all you should be testing is the ability to Submit the data, not also the ability of the javascript code to do a POST request, then a GET then display the data.
If you want to build an integration test, then you will need to check that each individual action in the sequence you described is performed correctly in whatever scenario you deem appropriate and then check that the total result of those actions is as expected. The tricky part will be chaining all those checks together.
If you want to build an end to end test, then you need to check for all of the above, plus changes to any permanent storage locations that the code you test changes (like databases or in-memory structures) plus whatever stress/security/usability/performance checks your software needs to pass in your specific context.
How to detect POST after form submit in Selenium python?