Django 如何检查实例是否属于登录用户?

Django 如何检查实例是否属于登录用户?,django,Django,下面是我当前如何检查模型是否属于正在编辑它的用户。我在views.py中执行此操作,几乎所有操作都有点重复,我经常使用它 # If we have an instance check that it belongs to the login. if some_object.user != request.user: return HttpResponseForbidden() 所以,我想知道其他人是如何处理这种功能的?我一直在考虑将其移动到所有对象的每

下面是我当前如何检查模型是否属于正在编辑它的用户。我在
views.py中执行此操作,几乎所有操作都有点重复,我经常使用它

 # If we have an instance check that it belongs to the login.
        if some_object.user != request.user:
            return HttpResponseForbidden()
所以,我想知道其他人是如何处理这种功能的?我一直在考虑将其移动到所有对象的每个on save方法

我可以举一些Django开发人员是如何做到这一点的例子吗?一定有更好的方法来检查用户可以编辑什么,对吗

我不会急于接受答案,因为我对Django非常陌生,所以我对经验更丰富的开发人员的权威回答非常感兴趣


多谢各位

如果使用基于类的视图,则mixin可以工作。。。您可以通过这样做来创建自己的

class RequireOwnershipMixin(object):
    def get_object(self, queryset=None):
        obj = super(RequireOwnershipMixin, self).get_object(queryset)
        if obj.user != self.request.user:
            return None
        return obj
你的观点现在看起来像这样

class UpdateSomeObjectView(RequireOwnershipMixin, UpdateView):
    ...
如果您不是对象的所有者,这将覆盖
get\u object
方法以返回
None
。当返回
None
时,您可能需要在
get
post
方法中进行一些额外检查,以便可以返回
HttpResponseForbidden


您还可以对任何使用
get\u object
方法的基于类的视图使用此方法。

您在视图中的何处执行这些检查?具体来说,您是否使用基于类的视图?是的,这是基于类的视图。什么和模型选项?