2012-03-28 58 views
2

我定製CBV刪除視圖應該檢查object的主人對request.user。 什麼是好的做法,以做到這一點? 目前我已經檢查如下圖所示Django的:對檢查要求用戶object.owner

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 

蘇丹

回答

3

簡單:

some_object.user == request.user 

由於型號爲__eq__這樣定義:

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

所以這「平等」,只要它具有相同的PK相同的模型類。

+0

感謝您徹底回覆) – sultan 2012-03-28 11:56:44