2012-03-28 14 views
2

は、私がstart_timeend_timeの値を掲示し、自動的にtutor現在ログインしているユーザーを与えるためにしようとしているのがこのモデルジャンゴ - 自動入力非空白のフォームフィールド

class Session(models.Model): 
    tutor = models.ForeignKey(User) 
    start_time = models.DateTimeField() 
    end_time = models.DateTimeField() 

を考えてみましょう。

私のフォームは実際にのみstart_timeend_time

class SessionForm(forms.ModelForm): 
    class Meta: 
    model = Session 
    exclude = ['tutor'] 

を管理していると私の見解はtutorを追加します。

def post(request): 
    """Session post""" 
    if request.method == 'POST': 
    form = SessionForm(request.POST) 
    form.tutor = request.user 
    if form.is_valid(): 
     form.save() 
     obj = {'posted': True} 
     return HttpResponse(json.dumps(obj), mimetype='application/json') 
    else: 
     return render_to_response('planner/editor.html', 
      form, context_instance=RequestContext(request),) 

私はできません

列 'tutor_id' を取得していますnullの場合

私は間違っていますか?

form.instance代わりの

答えて

3

.SETの家庭教師:

form.instance.tutor = request.user 
if form.is_valid(): 
    form.save() 
をしかしpersonnaly私はむしろフォーム後form.instanceを微調整したい:あなたが持っている必要があり

form.tutor = request.user 
if form.is_valid(): 
    form.save() 

.is_valid()、form.save()の直前。

+2

また、 'is_valid()'の後に 'form.instance'を変更する方が良いと思います。 –

関連する問題