2016-08-07 7 views
0
>>> items=SomeModelClass.objects.all() 
>>> for item in items: 
...  print(item.status) 
...  if(item.status == "New"): 
...    print("New Item") 
...  else: 
...    print("Something else") 
... 
New 
Something else 
Case Closed 
Something else 

ここで、単純なelseコードはdjangoシェルで実行されますが、値 "New"のitem.statusがありますが、結果は常にfalseです。何が原因でこのコードが失敗するのですか?djangoシェルの条件式if

+1

item.statusが実際に文字列であることを確認してください。 しかし、この質問はDjangoとは関係ありません。 –

答えて

0

ただチェックprint(type(item.status)は文字列を返します。

等価演算子と比較する前に、異なるデータ型を型キャストするようにしてください。

+0

有用な提案。コンパイルされたものは、とString –