2017-03-25 6 views
0

このコードは完璧に動作します:作成は動作しますが、get_or_createは動作しません。 Djangoの1.8 + Pythonの3.4

for i in m: 
     print(i) 
     event = Event.objects.create(title=titles[i]) 
     # event = Event() 
     event.title = titles[i] 
     event.image_link = images[i] 
     event.city = cities[i] 
     # event.place = placies[i] 
     # event.date = dates[i] 
     event.save() 
     print (Event.objects.all()) 

しかし、私はget_or_createするために作成変更した場合、それはすべてのエラーか何かせずに、まったく動作しません。おそらく、get_or_createがどのように機能するのか理解できないものがありますか?

for i in m: 
     print(i) 
     event = Event.objects.get_or_create(title=titles[i]) 
     # event = Event() 
     event.title = titles[i] 
     event.image_link = images[i] 
     event.city = cities[i] 
     # event.place = placies[i] 
     # event.date = dates[i] 
     event.save() 
     print (Event.objects.all()) 

答えて

0

get_or_createreturns a tuple;最初の要素はインスタンスで、2番目の要素はインスタンスが作成されたかどうかのブール値です。

あなたは実行する必要があります。

event, created = Event.objects.get_or_create(title=titles[i]) 
+0

は助けにはなりませんでした。ブール値なしでは別の方法で動作しませんか? –

+0

* how *のヘルプはありませんでしたか?何が起こった?どのようなメッセージが表示されますか?あなたの2番目の文は何を意味しますか?確認のため –

+0

私はコンソールにiを印刷します。唯一の出力は0で、新しいオブジェクトは作成されません。二番目の文で私は、その絶対に間違ってブールを作成していないかどうかを尋ねる –

関連する問題