2016-08-28 4 views
0

Ich habe den folgenden Code angegeben, der zu folgendem Fehler klagt:Django Valueerror: Modelform hat keine Modellklasse

Valueerror: Modelform hat keine Modellklasse angegeben.

from django import forms 
from straightred.models import StraightredTeam 
from straightred.models import UserSelection 



class SelectTwoTeams1(forms.Form): 

    campaignnoquery = UserSelection.objects.filter(user=349).order_by('-campaignno')[:1] 
    currentCampaignNo = campaignnoquery[0].campaignno 
    cantSelectTeams = UserSelection.objects.filter(campaignno=currentCampaignNo) 

    currentTeams = StraightredTeam.objects.filter(currentteam = 1).exclude(teamid__in=cantSelectTeams.values_list('teamselectionid', flat=True)) 
    team_one = forms.ModelChoiceField(queryset = currentTeams) 
    team_two = forms.ModelChoiceField(queryset = currentTeams) 



class SelectTwoTeams(forms.ModelForm): 
    used_his = forms.ModelMultipleChoiceField(queryset=UserSelection.objects.filter(user__id=1)) 

    def __init__(self, user, *args, **kwargs): 
     super(SelectTwoTeams, self).__init__(*args, **kwargs) 
     self.fields['used_his'].queryset = User.objects.filter(pk = user.id) 

Jede Hilfe würde sehr geschätzt werden. Vielen Dank, Alan.

Antwort

1

Die Fehlermeldung zeigt deutlich, dass Sie keine Modellklasse angegeben haben.

Für eine Modelform haben Sie Modellklasse zu verwenden:

class ProductForm(forms.ModelForm): 
    class Meta: 
     model = Product 

Ist dies nicht ein Formular auf einem Modell basiert, erben nicht von forms.ModelForm, verwenden Sie nur ein gewöhnlicher forms.Form .