我有以下类层次结构:
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 时,“model=Event”字段对框架不可见。所以我得到了错误:
UpdateEventView 缺少查询集。定义 UpdateEventView.model、UpdateEventView.queryset,或覆盖 UpdateEventView.get_object()。
我错过了什么?
免责声明:我是 Python/Django 的新手。