다음 코드를 참조하십시오 :속성 재정의 개념은
from django.views.generic.edit import DeleteView
from .models import Course
class OwnerMixin(object):
def get_queryset(self):
qs = super(OwnerMixin, self).get_queryset()
return qs.filter(owner=self.request.user)
class OwnerCourseMixin(OwnerMixin):
model = Course
class CourseDeleteView(OwnerCourseMixin, DeleteView):
template_name = 'courses/manage/course/delete.html'
success_url = reverse_lazy('manage_course_list')
나는 쉽게 template_name
및 CourseDeleteView
에서 success_url
속성을 추가하여, 내가 DeleteView
의 속성을 무시할 수 있다는 것을 이해할 수있다. 따라서 두 속성은 DeleteView
에있는 메서드를 호출하여 적용됩니다.
나를 혼란스럽게하는 이유는 위의 코드에 따라 ~ DeleteView
에있는 속성 model = Course
을 전달할 수 있다는 것입니다. 그들 사이에 직접적인 상속 관계는 없습니다. 나에게 의미가 없다.
정말 고마워. – JianWei