나는 다음과 같은 형태를 따른다 :장고 양식이 유효하지 않습니다,하지만 오류 메시지
class SkuForm(forms.Form):
base_item = forms.ModelChoiceField(queryset=BaseItem.objects.none())
color_or_print = forms.ModelMultipleChoiceField(queryset=Color.objects.none())
material = forms.ModelMultipleChoiceField(queryset=Material.objects.none())
size_group = forms.ModelMultipleChoiceField(queryset=Size_Group.objects.none())
내보기 :
def sku_builder(request):
if request.method == "POST":
user = request.user
form = SkuForm(request.POST)
if form.is_valid():
base_item = form.cleaned_data['base_item']
colors = filter(lambda t: t[0] in form.cleaned_data['color_or_print'], form.fields['color_or_print'].choices)
materials = filter(lambda t: t[0] in form.cleaned_data['material'], form.fields['material'].choices)
size_groups = filter(lambda t: t[0] in form.cleaned_data['size_group'], form.fields['size_group'].choices)
return render(request, 'no_entiendo.html', {'colors': colors, })
else:
return HttpResponse("form is not valid")
user = request.user
form = SkuForm()
form.fields['base_item'].queryset = BaseItem.objects.filter(designer=user)
form.fields['color_or_print'].queryset = Color.objects.filter(designer=user)
form.fields['material'].queryset = Material.objects.filter(designer=user)
form.fields['size_group'].queryset = Size_Group.objects.filter(designer=user)
return render(request, 'Disenador/sku_builder.html', {'form': form,})
문제는 필자 만받는 것입니다 "양식을 유효한 메시지 아니다" Form이 선택 항목으로 만 구성되어 있으므로 오타가 잘못되어 왜 유효하지 않은지 알 수 없습니다. 또한 디버깅 할 시스템으로부터의 피드백이 없거나 검색 할 위치를 모른다. form.is_valid는 전체 코드가 아닙니다 후
은 * 무슨 일이
UPDATE : 가 나는 {{form.errors을}}두고있어이 : color_or_print
Select a valid choice. 6 is not one of the available choices.
base_item
Select a valid choice. That choice is not one of the available choices.
크기 그룹
Select a valid choice. 2 is not one of the available choices.
size_group 및 color_or_print에서 번호는 pk입니다 (단 하나의 항목 만 표시하고 2 개는 선택됨). base_item에서 무슨 일이 일어나는지 확실하지 않습니다. 다음을 통해 값을 추출해야합니까?
get_object_or_404 ?
및 base_item으로 무엇을 할 수 있습니까? 여기 posted from the debug_toolbar
잘못된 양식 인 경우 HttpReponse를 보내는 대신 양식과 오류로 html을 렌더링하십시오. – anupsabraham
고마워요, 저도 그래도 명확한 행동 경로는 없습니다. –
'SkuForm'의 init 메소드 인 – anupsabraham