Django mocking serializer __init__

Я хочу в своем тесте высмеять __init__ сериализатор следующим образом :

serializer = MySerializer(data={'name':'yosi'})
serializer.data # will return {'name':'yosi'} and ignore default behavior, like requiring to call is_valid first

Я просто хочу, чтобы сериализатор хранил данные как есть, а не делал обычные __init__

Метод, который я хочу протестировать :

MyDAO.py :

from ..models import MyModel
from ..serializers import MySerializer

def getAll() -> list[dict]:
    entities = MyModel.objects.all()
    serializer = MySerializer(entities, many=True)

    return serializer.data

Я попытался сделать следующее, но безуспешно :

  def _mocked_seriailzer__init__(self, data, many): 
        self.data = data

    @mock.patch('<PATH_TO_SERIALIZERS_FILE>.MySerializer.__init__', _mocked_seriailzer__init__)
    @mock.patch.object(MyDAO, 'MyModel')
    def test_getall(self, model):
        mockedData = ['mocked-data1', 'mocked-data2', 'mocked-data3']

        model.objects.all.return_value = mockedData

        self.assertEqual(mockedData, MyDAO.getAll())

но он жалуется, что тест is missing 1 required positional argument: 'many'

  def _mocked_seriailzer__init__(self, data, many): 
        self.data = data

    @mock.patch.object(MyDAO, 'MySerializer.__init__', _mocked_seriailzer__init__)
    @mock.patch.object(MyDAO, 'MyModel')
    def test_getall(self, model):
        mockedData = ['mocked-data1', 'mocked-data2', 'mocked-data3']

        model.objects.all.return_value = mockedData

        self.assertEqual(mockedData, MyDAO.getAll())

но там говорится, что MyDAO does not have the attribute 'CctSerializer.__init__'

как правильно издеваться над serializer.__init__?

Вернуться на верх