0

いくつかのデータセットでフォームを開始したい。これを行うと、エラーが発生します(init()が予期しないキーワード引数「user」を取得しました)。なんで?

if request.method == 'POST': # If the form has been submitted...
        form = UcitelZmenaForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            form = UcitelZmenaForm(request.POST)
            form.save()
            return HttpResponseRedirect('/hlavni_stranka/') # Redirect after POST
    else:
        form = UcitelZmenaForm(user=request.user) # An unbound form

class Clovek(models.Model):
    user=models.OneToOneField(User)
    mesto=models.CharField(max_length=100, blank=True)



class Ucitel(Clovek): #pridat pote classu tridniho ucitele
    predmety=models.ManyToManyField(Predmety) #manyToManyField

class UcitelZmenaForm(ModelForm):
    class Meta:
        model = Ucitel
4

1 に答える 1

2

あなたは変わるべきです

form = UcitelZmenaForm(user=request.user)

form = UcitelZmenaForm(initial={'user': request.user})

Django Forms ドキュメントの「動的初期値」も参照してください。

于 2013-10-02T13:33:46.970 に答える