2016-04-14 39 views
0

在我的基於Django的應用程序在Djando視圖類獲取錯誤 - 全球名稱'自我'未定義

我想覆蓋刪除視圖的刪除方法。我有2個型號CategorySubcategory

類別是子類別的外鍵,它在刪除時受保護。

category = models.ForeignKey(Category, on_delete=models.PROTECT) 

這是我在我執行我得到view.py 但是每次類 - 全球名「自我」是沒有定義。

(代碼是在類中這樣自我應該是指的類。我想我必須創建實例來使用它,但我在網上看到了Django的所有樣品做的完全一樣。)

class CategoryDelete(DeleteView): 
    model = Category 
    success_url = reverse_lazy('category_list') 

    def delete(request, *args, **kwargs): 
     self.object = self.get_object() 
     if self.object.gameteams_set.exists(): 
      # Return the appropriate response 
      success_url = self.get_success_url() 
      self.object.delete() 
     return HttpResponseRedirect(success_url) 

回答

4

你的函數參數丟失self

def delete(self, request, *args, **kwargs): 

delete功能屬於CategoryDelete類,因此類方法需要self訪問實例的屬性。