2017-03-19 17 views
0

私はジョブを申請できるようにする必要があるdjangoウェブアプリを構築しています。ここでデータベースに申請者モデルを保存できないのはなぜですか?

は、申請に関連するモデルである。ここでは

class Applicant(models.Model): 
    job = models.ForeignKey(Job) 
    user = models.ForeignKey(User) 
    date = models.DateTimeField(auto_now_add=True) 

    class Meta: 
     # So that the same user can't apply to the same job twice. 
     unique_together = [("job", "user"),] 

は、申請を作成して保存するには、このモデルを使用した図である。

@login_required 
def job_apply(request, job_pk): 
    # Get the job that the user has applied for. 
    job = get_object_or_404(Job, pk=job_pk) 
    applicant = models.Applicant(job=job, user=request.user) 
    applicant.save() 
    return reverse('jobs:find') 

これは、Djangoが私を与えるエラーメッセージです:

Exception Type: AttributeError 
Exception Value: 'unicode' object has no attribute 'get' 
+1

スタックトレースは、エラーが発生する場所を教えてくれますか? – karthikr

答えて

3

job_applyです。ビューの契約では、要求を受け入れて応答を返すということです。しかし、あなたは応答を返していません。ただパスを返すだけです。これはreverseの結果です。

代わりに、redirectを使用する必要があります。これは、名前付きURLへのリダイレクトであるレスポンスを作成するためのショートカットです。

return redirect('jobs:find') 
関連する問題