2016-07-20 4 views
2

私はstackoverflowでいくつかの他の質問をチェックしたが、それでも理由を見つけることができません。Django-objects.get()は何も取得しないで、それを防ぐには?

私は、そのset_idを探して写真を取得できるかどうかを知りたいだけです。このset_idを持つデータベースに何もない場合は、htmlで簡単なメッセージを表示したいと思います。 私は以下のコードを持っていますが、存在しないset_idを持っていても、まだcode something elseを実行しようとしているので、エラーが発生します。

私はまた、if _set.exist()if not _setも試してみました。

def msa_result(request, set_id): 
     try: 
      _set = PhotoSets.objects.get(set_id=set_id) 
     except PhotoSets.DoesNotExist: 
      return HttpResponse("This set is not available") 
    <code something else> 
+2

デフmsa_result内のブロック 'をしてみてください' とで_setを印刷する前に_set = NULLの値を設定してみてください'try'ブロックの終わり。 端末に表示される_setの値を教えてください。 NULL以外のものがある場合は、そのset_idに対応するPhotoSetが存在します それをチェックし、印刷された値を教えてください –

+0

Thanks @AnkushRaghuvanshi!私は実際にそのset_idでセットを持っていることを理解しています、問題は、セット(外来キーモデル)に測定がないということです。そして、このtry-except stuffは別のクエリーにあるはずです。 の後、私はこれを変更しました。ありがとう! – KKlalala

+0

お寄せいただきありがとうございます。 :) 可能な限りターミナルに値を表示することは、独自のコードをデバッグする際に使用することをお勧めします。 –

答えて

0

これを試してみてください:

def msa_result(request, set_id): 
    _set = PhotoSets.objects.get(set_id=set_id) 
    if not _set: 
     return HttpResponse("This set is not available") 
    <code something else> 
+0

私はこれも試してみました。( – KKlalala

+0

コンソールには "DoesNotExist:PhotoSets matching queries does not exist。"というメッセージが表示されるので、これはうまくいきません。 – KKlalala

0

はこれを試してみてください。

def msa_result(request, set_id): 
    try: 
     _set = PhotoSets.objects.get(id=set_id) # -- change 
    except PhotoSets.DoesNotExist: 
     return HttpResponse("This set is not available") 
<code something else> 
関連する問題