Базовый класс:
class OperationsList(object): model = Many earn = False cost = False title = '' summa = {} def get_queryset(self): qs = Many.objects.filter(users=self.request.user.id).order_by('-date') return qs def get_context_data(self, **kwargs): context = super(OperationsList, self).get_context_data(**kwargs) context['user_username'] = self.request.user.username context['e'] = self.earn context['c'] = self.cost context['title'] = self.title if self.summa['sum__sum'] is None: context['summa'] = 0 else: context['summa'] = self.summa['sum__sum'] return context
Дите. После того как перехожу на урл класса, то он мне отображает ошибку, а не форму.
class EarnPeriods(OperationsList, FormView, ListView): form_class = forms.DateForm template_name = 'period.html' earn = True date_start = '' date_end = '' def form_valid(self, form): cd = form.clean() self.date_start = cd['date_start'] self.date_end = cd['date_end'] return super(EarnPeriods, self).form_valid(form) def get_queryset(self): self.summa = super(EarnPeriods, self).get_queryset().filter(date__range=(self.date_start, self.date_end), sum__gt=0).aggregate(Sum('sum')) return super(EarnPeriods, self).get_queryset().filter(date__range=(self.date_start, self.date_end), sum__gt=0)
А чем продиктовано столь мудрёное решение? Почему не сделать простым способом? То есть, CreateView, который будет сам показывать форму и сохранять данные в модель, но у которого в get_context_data будут выбираться записи из нужной модели?
А мой английский безногий