Skip to main content
 首页 » 编程设计

python之Django:根据 object.owner 检查请求用户

2024年08月30日30insus

我有自定义 CBV 删除 View ,它应该根据 request.user 检查 object 的所有者。 这样做的好习惯是什么? 目前我一直在检查如下图

equal_usernames = some_object.user.username in request.user.username 
equal_emails = some_object.user.email in request.user.email 
if equal_usernames and equal_emails: 
    # some actions 

苏丹

请您参考如下方法:

简单如:

some_object.user == request.user 

因为 Model as __eq__ 定义如下:

def __eq__(self, other): 
    return isinstance(other, self.__class__) and self._get_pk_val() == other._get_pk_val() 

所以只要它是具有相同 pk 的相同模型类,它就是“相等”的。