【发布时间】:2019-09-12 03:00:50
【问题描述】:
我有几个模型,Car 和 CertifyRequest。当Car 实例被创建、修改或删除时,我需要创建一个CertifyRequest,而这又需要手动批准。 CertifyRequest 实例包含它的创建时间。
我已经通过将context={"now": …} 注入CarSerializer 实例来测试创建和修改,但我不知道在删除时如何执行等效操作:
- 删除请求永远不会传递给序列化程序,因此我无法以相同的方式访问上下文。
- 我可以覆盖
ModelViewSet中的destroy并在其中使用get_serializer_context,但是- 我似乎无法将序列化程序传递给
ModelViewSet实例和 - the implementation 无论如何都会返回一个完全不同的上下文。
- 我似乎无法将序列化程序传递给
- 我不想使用可选查询参数或测试时间“接近”当前测试客户端时间等可怕的技巧。
我目前使用的技巧是在Request 上设置一个额外的now 属性,并将其传递给视图,然后在destroy 中查找它。
【问题讨论】:
标签: django django-rest-framework