0

オブジェクトがビューで値を返すかどうかを確認したい.pyこれは私のコードです...

  city = City.objects.get(name=form.cleaned_data['autocompleteCity'])

そこで、こんなことを考えていた...

  city = City.objects.get(name=form.cleaned_data['autocompleteCity'])

  if city:
     #we have results do something with city object
   else: 
     #no results display error and stop processing form.

これにアプローチする最良の方法は何ですか。

4

2 に答える 2

1

ドキュメントに記載されているように、.get()常に単一のモデルを返すか、2 つの例外のうちの 1 つを発生させます。呼び出しをtryブロックに入れて、関連する例外をキャッチし、適切に処理するだけです。

于 2013-02-02T15:05:02.380 に答える
1

あなたも試すことができます:

city = City.objects.filter(name=form.cleaned_data['autocompleteCity'])

if city.count():
   # if you are expecting only one record to be returned, you can access the first record
   # Else you will have to iterate through the result set returned
   print city[0]         
else:
   #no records present
   pass
于 2013-02-02T15:15:26.847 に答える