Tornar o banco de dados de casos de teste do Django visível para o aipo

Quando um caso de teste do Django é executado, ele cria um banco de dados de teste isolado para que as gravações do banco de dados sejam revertidas quando cada teste for concluído. Estou tentando criar um teste de integração com o Celery, mas não consigo descobrir como conectar o Celery a esse banco de dados de teste efêmero. Na configuração ingênua, os objetos salvos no Django são invisíveis para o Celery e os objetos salvos no Celery persistem indefinidamente.

Aqui está um exemplo de caso de teste:

import json
from rest_framework.test import APITestCase
from myapp.models import MyModel
from myapp.util import get_result_from_response

class MyTestCase(APITestCase):
    @classmethod
    def setUpTestData(cls):
        # This object is not visible to Celery
        MyModel(id='test_object').save()

    def test_celery_integration(self):
        # This view spawns a Celery task
        # Task should see MyModel.objects.get(id='test_object'), but can't
        http_response = self.client.post('/', 'test_data', format='json')

        result = get_result_from_response(http_response)
        result.get()  # Wait for task to finish before ending test case
        # Objects saved by Celery task should be deleted, but persist

Eu tenho duas perguntas:

Como é que o Celery pode ver os objetos que o caso de teste do Django?

Como garantir que todos os objetos salvos pelo Aipo sejam revertidos automaticamente quando o teste for concluído?

Estou disposto a limpar manualmente os objetos se isso não for possível automaticamente, mas uma exclusão de objetos emtearDown mesmo emAPISimpleTestCase parece ter sido revertida.

questionAnswers(2)

yourAnswerToTheQuestion