私はSQLobjectを使用していますが、これまでのところ、「データベース内の行を更新するか、存在しない場合は新しい行を作成する」ためのエレガントなソリューションを見つけることができませんでした.
現在、次のやや複雑なコードを使用しています。
args = dict(artnr=artnr, name=name, hersteller='?', hersteller_name='?')
if cs.datamart.ArtNrNameHersteller.selectBy(artnr=artnr).count():
row = cs.datamart.ArtNrNameHersteller.selectBy(artnr=artnr)[0]
row.set(**args)
else:
cs.datamart.ArtNrNameHersteller(**args)
明らかに、これは簡潔、堅牢、エレガント、または高速ではありません。これを行う正しい方法(TM) は何ですか?