私は、クエリによって異なるdictsを返すAPIを使用しています。だから、私は特定のキーを持っていることがわからないので、私はKeyError
を避けるためにdict.get()
を使用しています。しかし、私は現在、これらの結果をデータベースに挿入しており、行をNone
で埋めるのを避けたいと考えています。SQLite ignoreなしon INSERT
これに対処するにはどうすればよいでしょうか?
私は、クエリによって異なるdictsを返すAPIを使用しています。だから、私は特定のキーを持っていることがわからないので、私はKeyError
を避けるためにdict.get()
を使用しています。しかし、私は現在、これらの結果をデータベースに挿入しており、行をNone
で埋めるのを避けたいと考えています。SQLite ignoreなしon INSERT
これに対処するにはどうすればよいでしょうか?
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', '')
''
データベースに 'NOT NULL'という列がいくつかあります。それでは? –
@DavidMetcalfe:更新コードを確認してください。その場合、空の文字列として設定することができます –
何がいっぱいになりたいですか?第2引数を '.get()'関数に与えることができます。これは、キーが見つからなければ2番目の引数を返します。このような 'dct.get( 'key'、 'default')' –