0
나는 다음과 같은 형식이 있습니다장고 양식 실패
# coding=utf-8
class SelectTwoTeams(BootstrapForm):
def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
self.currentSelectedTeam1 = kwargs.pop('currentSelectedTeam1', None)
self.currentSelectedTeam2 = kwargs.pop('currentSelectedTeam2', None)
self.currentfixturematchday = kwargs.pop('currentfixturematchday', None)
self.currentCampaignNo = kwargs.pop('currentCampaignNo', None)
super(SelectTwoTeams, self).__init__(*args, **kwargs)
cantSelectTeams = UserSelection.objects.select_related().filter(~Q(fixtureid__fixturematchday=self.currentfixturematchday),campaignno=self.currentCampaignNo)
if not cantSelectTeams:
queryset = StraightredTeam.objects.filter(currentteam = 1)
else:
queryset = StraightredTeam.objects.filter(currentteam = 1).exclude(teamid__in=cantSelectTeams.values_list('teamselectionid', flat=True))
self.fields['team1'].queryset = queryset
self.fields['team2'].queryset = queryset
self.fields['team1'].initial = self.currentSelectedTeam1
self.fields['team2'].initial = self.currentSelectedTeam2
team1 = forms.ModelChoiceField(queryset=StraightredTeam.objects.none(), empty_label=None,
widget=forms.Select(attrs={"class":"select-format",'onchange': 'this.form.submit();'}))
team2 = forms.ModelChoiceField(queryset=StraightredTeam.objects.none(), empty_label=None,
widget=forms.Select(attrs={"class":"select-format",'onchange': 'this.form.submit();'}))
def clean(self):
cleaned_data = self.cleaned_data # individual field's clean methods have already been called
team1 = cleaned_data.get("team1")
team2 = cleaned_data.get("team2")
if team1 == team2:
raise forms.ValidationError("You picked the same team!")
return cleaned_data
나는 나의 HTML 파일에 다음과 제대로 말한다 같은 두 팀을 선택 사용하는 경우 "당신은 같은 팀을 골랐다!"
<form action="" method="post">
{% csrf_token %}
{{ form }}
</form>
을 나는 다음과 같은 사용하는 경우
그러나 :
<form action="" method="post">
{% csrf_token %}
{{ form.team1 }}{{ form.team2 }}
</form>
나는 어떤 피드백을 얻을 수 없습니다. 같은 두 팀을 선택하면 아무 것도 발생하지 않습니다. 필드를 분리하는 것이 왜 작동을 멈추게하는지에 대한 아이디어는 없습니까?
감사합니다. Alan.
완전한 의미를 갖습니다. 감사합니다. :) –