Sorry, should've been clearer, what it means is you must call .is_valid() before you call .start_transaction(), I'll make it clearer.