Fixed #20392 -- Wrapped TestCase into a class-wide transaction

The goal of this PR is to allow the creation of initial test data once for a `TestCase`, through the class method `setupTestData` (see https://code.djangoproject.com/ticket/20392).
please deintent