如何訪問COMPANY_ID場形式輸入類爲本次得到form_class在視圖中表單輸入值
forms.py
class CompanyProductForm(forms.Form):
company_id = forms.IntegerField()
我試圖重寫form_valid(),但沒」 t鍛鍊。 我也想將'obj'queryset轉換爲python列表,然後將其附加到產品。
view.py
class CompanyProduct(LoginRequiredMixin, UserPassesTestMixin, FormView):
template_name = 'company_product.html'
form_class = CompanyProductForm
products = []
def test_func(self):
return self.request.user.is_staff
def post(self, request, *args, **kwargs):
self.products = []
def form_valid(self, form):
id = form.cleaned_data['company_id']
return super(CompanyProduct, self).form_valid(form)
obj = Product.objects.filter(company_id=id)
return render(request, 'product_download.html',{'product':self.products,
'num':len(self.products)})
錯誤:
類型錯誤在/上傳/有限公司_產品/
INT()參數必須是字符串或數字,而不是 'builtin_function_or_method'
您的表單可能無效,因此控件將無法觸及form_valid – Sid
您在form_valid()中的行應該是帶有下劃線的id = form.cleaned_data ['company_id']'。嘗試覆蓋'form_invalid()'並檢查表單是否確實通過了驗證。 – zaidfazil
@FazilZaid這裏只是一個錯字錯誤。在我的代碼中,它是'company_id'。我現在的問題是,我如何在ocject過濾器中引用此id。 –