我们的应用程序将is_active
用户模型中的字段设置False
为代表已删除的用户。从对用户表的每次访问中
排除已删除用户 ( ) 的最佳做法是什么?where is_active=False
请考虑以下事项:
1. 该应用程序已经编写完毕,因此我们希望尽可能减少代码更改。
2. 应用程序使用:request.user
,get_object_or_404()
当然还有User.objects
,因此解决方案必须将所有这些都考虑在内。
从我所做的研究中,我发现:
1. 代理模型:会迫使我对代码进行大量更改;我不知道它如何与request
and一起使用get_object_or_404()
。
2. contribute_to_class
: 可以用来覆盖objects
管理器还是只添加一个新的?安全吗?
3. 中间件更改:我不想涉及这个。对我来说太冒险了。
有没有一种优雅的方式来做到这一点?