我想讓我的表單工作使用以前的計算器的答案和谷歌,但似乎沒有爲我工作。FOM缺少1個需要的位置參數:'請求'的形式
我有一個模型項目和一個項目團隊,我希望用戶能夠從他創建的團隊中選擇一個並將其鏈接到項目。
我使用所謂的MYUSER
自定義的用戶是我的形式,以便選擇一個團隊:
from django import forms
from django.contrib.auth.models import User
from registration.models import MyUser
from .models import Project, Team
from django.contrib.auth import get_user_model
User = get_user_model()
class EditSelectTeam(forms.Form):
team_choice = forms.ModelChoiceField(widget=forms.RadioSelect, queryset=None)
def __init__(self, User, request, *args, **kwargs):
super(EditSelectTeam, self).__init__(*args, **kwargs)
self.fields['team_choice'].queryset = Team.objects.all().filter(team_hr_admin = request.User)
我的看法:
def TeamSelect(request):
if request.method == "POST":
select_form = EditSelectTeam(request.user, request.POST)
if select_form.is_valid():
print('sucess')
else:
print('Fail')
else:
select_form = EditSelectTeam(request)
return render(request,'link_project.html',
{'select_form':select_form })
如果在我的形式,我把request.User
我收到我認爲的錯誤:
TypeError: __init__() missing 1 required positional argument: 'request'
如果我不把用戶在我__init__
我得到的形式,但是當我點擊文章中,我得到的錯誤
AttributeError: 'MyUser' object has no attribute 'user'
其他:'select_form = EditSelectTeam()'試試這個 – Akash