2016-04-14 23 views
0

tanımlı değil. 2 Model Category ve Subcategory var.- küresel adı 'self' Ben Sil bakış silme yöntemini geçersiz çalışıyorum</p> <p>benim Django tabanlı uygulamasında

Kategori, alt kategorinin Yabancı anahtardır ve silme korumalıdır.

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

Bu ben alıyorum yürütmek view.py Ancak her seferinde benim sınıftır - küresel adı 'benlik' tanımlı değil.

(kendinden sınıfa atıfta gereken böylece kod sınıfına içindedir. Ben bunu kullanmak örneğini oluşturmak zorunda düşünce ama Django online gördüğümüz tüm numuneler böyle aynen bunu.)

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) 

cevap

4

İşleviniz argümanı self eksik: sınıf yöntemleri örneğinin özelliklerine erişmek için self ihtiyacı böylece

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

delete fonksiyon, sınıf CategoryDelete aittir.