1
我有類層次結構如下:無法理解Django和混入行爲
class ProfileUpdateView(UpdateView, LoggerMixin):
def get_context_data(self, **kwargs):
context = super(ProfileCreateView, self).get_context_data(**kwargs)
...
return context
的UpdateView其實django.views.generic.UpdateView
class EventViewMixin(object):
template_name = ...
model = Event
form_class = ...
def get_success_url(self):
return self.success_url + str(self.object.id)
類UpdateEventView混合ProfileUpdateView和EventViewMixin
class UpdateEventView(ProfileUpdateView, EventViewMixin):
def form_valid(self, form):
...
return super(UpdateEventView, self).form_valid(form)
問題在於,由於某些原因字段「模型=事件」是它在嘗試使用UpdateEventView時 對框架不可見。所以我得到的錯誤:
UpdateEventView缺少一個查詢集。定義UpdateEventView.model,UpdateEventView.queryset或覆蓋UpdateEventView.get_object()。
我錯過了什麼?
免責聲明:我是Python/Django的新手。
有人預言這會發生:http://reinout.vanrees.org/weblog/2011/08/23/class-based-views.html :-) –