私は以前のstackoverflow答えとgoogleを使用してフォームの作業をしようとしていますが、何も私のために働くようです。FOMが見つからない1必要な位置引数: '要求'フォーム
私はモデルプロジェクトとプロジェクトチームを持っており、ユーザーが作成したチームの1つを選択してプロジェクトにリンクさせたいと考えています。
私はチームを選択するために私のフォームでMyUserと
というカスタムユーザー使用しています:私の形で私が入れた場合
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 })
:
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)
私の意見をrequest.User
私の見解に誤りがあります:
TypeError: __init__() missing 1 required positional argument: 'request'
私は__init__
にユーザーを入れていない場合、私は、フォームを取得するが、私はPOSTをクリックしたときに、私はあなたの__init__
方法がUser
とrequest
、
def __init__(self, User, request, *args, **kwargs):
を取るだけで、あなた
AttributeError: 'MyUser' object has no attribute 'user'
: 'select_form = EditSelectTeam()'私が手に編集して、この – Akash