2016-12-04 8 views
0

私は、クエリによって異なるdictsを返すAPIを使用しています。だから、私は特定のキーを持っていることがわからないので、私はKeyErrorを避けるためにdict.get()を使用しています。しかし、私は現在、これらの結果をデータベースに挿入しており、行をNoneで埋めるのを避けたいと考えています。SQLite ignoreなしon INSERT

これに対処するにはどうすればよいでしょうか?

+0

何がいっぱいになりたいですか?第2引数を '.get()'関数に与えることができます。これは、キーが見つからなければ2番目の引数を返します。このような 'dct.get( 'key'、 'default')' –

答えて

1

NULLをデフォルト値としてdict.get()としてください。 がdictオブジェクトに存在しない場合、Noneの代わりにNULLを返します。データベース(ほとんど)の 'NULL'は、PythonのNoneに相当します。例えば:場合

>>> my_dict = {} 

#       v Returns `NULL` if key not found in `my_dict` 
>>> my_dict.get('key', 'NULL') 
'NULL' 

は、あなたは空の文字列としてそれらを設定し、NOT NULLとして列を持っています。例:

>>> my_dict.get('key', '') 
'' 
+0

データベースに 'NOT NULL'という列がいくつかあります。それでは? –

+1

@DavidMetcalfe:更新コードを確認してください。その場合、空の文字列として設定することができます –

関連する問題