我正在嘗試使用請求物件使用以下代碼在我的表單中創建一個動態下拉串列:
看法:
form = TransactionForm(request.user)
形式:
class TransactionForm(forms.Form, request.user):
# Payment methods
get_mm_details = MMDetails.objects.filter(username=request.user)
get_card_details = CardDetails.objects.filter(username=request.user)
payment_meth = []
# form fields
trans_amount = forms.IntegerField(label="Amount", min_value=0)
payment_method = forms.CharField(
label='Payment method',
widget=forms.Select(
choices=payment_meth
)
)
有沒有辦法在表單中使用請求物件?
uj5u.com熱心網友回復:
您在類繼承中傳遞請求絕對不是正確的方式。您需要像這樣創建建構式并在那里傳遞請求:
表格.py:
class TransactionForm(forms.Form):
get_mm_details = None
get_card_details = None
payment_meth = []
# rest of the code
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
username = self.request.user.username
self.get_mm_details = MMDetails.objects.filter(username=username)
self.get_card_details = CardDetails.objects.filter(username=username)
super(MyForm, self).__init__(*args, **kwargs)
視圖.py:
form = TransactionForm(request=request)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/412656.html
標籤:
