У меня есть пара моделей, Car
и CertifyRequest
.Когда экземпляр Car
создан, изменен или удален , мне нужно создать CertifyRequest
, который, в свою очередь, должен быть утвержден вручную.Экземпляр CertifyRequest
содержит время, когда он был создан.
Я тестировал создание и изменение, вводя context={"now": …}
в экземпляр CarSerializer
, но я не могу понять, как сделать эквивалент, когдаудаление:
- Запросы на удаление никогда не передаются в сериализатор, поэтому я не могу получить доступ к контексту таким же образом.
- Я могу переопределить
destroy
в ModelViewSet
и используйте get_serializer_context
внутри него, но - Я не могу передать сериализатор в экземпляр
ModelViewSet
, а - реализация возвращает совершенно другой контекств любом случае.
- Я не хочу использовать ужасный хак, такой как необязательный параметр запроса или проверка того, что время "близко к" текущему времени клиента тестирования.
Хак, который я использую в настоящее время, состоит в том, чтобы установить дополнительное свойство now
для Request
, которое я передаю представлению, и искать его внутри destroy
.