シリアル化されたデータを返すリクエストを行っています。私はデータを反復処理し、データベースに存在するかどうかを確認します。存在する場合は無視され、存在しない場合は保存されます。私が抱えている問題は、forループがデータのすべてのキーを繰り返し処理し、データベースにあるものと比較しても、最初のレコードのみを保存することです。私のコードは次のとおりです。
b = MyModel()
data #The serialized data
existingData = Off.object.filter(...)
for key in data:
if existingData.filter(id_str=key['id_str']).exists():
pass #If I place a print key['id_str'] here, all skipped items are printed.
else:
b.x = key['x']
b.y = key['y']
b.save()
関数が実行されるたびにb.save()
、カウンターが増加した後、elseステートメントの下部にカウンターが配置されますが、チェックに合格した最初のレコードのみが保存され、データ内の残りの項目は保存されません。どこが間違っているのですか?