Проблема с экспортом элементов из текущего набора форм в Django 3.2

У меня есть представление, в котором пользователь вставляет количество единиц и после нажатия кнопки submit экспортирует файл excel в файл xlsx. Я использую Django import-export для этого, НО я не знаю, как фильтровать модель CERequests, чтобы пользователь видел только то, что он только что вставил. Я реализовал фильтрацию по пользователю, но при нажатии на кнопку submits происходит фильтрация всех элементов по текущему пользователю, но отображаются все элементы (также элементы из прошлого).

Я хочу экспортировать только значения из текущего набора форм или наборов форм. Я попытался поместить created=created в метод filter, но это дает мне пустой файл Excel. Когда я удаляю его, он дает мне список всех CERquests, которые вставил пользователь. Что мне нужно сделать, чтобы получить только данные из текущего набора(ов) форм?

views.py

class CostCalculator(LoginRequiredMixin, TemplateView):
    template_name = 'calculator/cost_calculator.html'

    def get(self, *args, **kwargs):
        # Create an instance of the formset
        formset = CalculatorForm(initial=[{
            'author': self.request.user.email,
            }])
        return self.render_to_response({'ce_request_formset': formset})
        
    # Define method to handle POST request
    def post(self, *args, **kwargs):
        formset = CalculatorForm(data=self.request.POST)

        # Check if submitted forms are valid
        if formset.is_valid():
            for form in formset:
                related_product = form.cleaned_data.get('related_product')
                created = form.cleaned_data.get('created')
                form.save()
                qs = CERequest.objects.filter(related_product__title=related_product, created=created)
            
                dataset = CERequestResource().export(qs)
                response = HttpResponse(dataset.xlsx, content_type="xlsx")
                response['Content-Disposition'] = 'attachment; filename=filename.xlsx'
                return response

        return self.render_to_response({'ce_request_formset': formset})

forms.py

class CalculatorForm(forms.ModelForm):
    author = forms.CharField(required = False)
    number_of_units = forms.IntegerField(help_text='Only numeric values are allowed.', min_value=0)
    total_price = forms.IntegerField(widget = forms.HiddenInput(), required = False)
    created = forms.DateTimeField(widget = forms.HiddenInput(), required = False)
    
    class Meta: 
        model = CERequest
        fields = ('author', 'related_product', 'related_component', 'number_of_units', 'total_price')
        readonly_fields = ('created')

CalculatorForm = formset_factory(CalculatorForm)

models.py

class CERequest(models.Model):
    author = models.CharField(max_length=255, blank=True, null=True)
    related_component = models.ForeignKey(CostCalculator, on_delete=models.CASCADE, blank=True, null=True)
    number_of_units = models.IntegerField(default=0)
    related_product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True, blank=True)
    created = models.DateTimeField(auto_now=True)
    total_price = models.IntegerField(default=0, blank=True, null=True)
Вернуться на верх