Django で、バルクREPLACE をする方法が知りたい
Python Django の モデルマネージャを使って、MySQL のバルクREPLACE を実行する方法をご存知であれば教えてください。
class SpamModel(models.Model):
...
SpamModel.objects.bulk_create([
SpamModel(**item) for item in items])
このようにバルクインサートを行っていますが、ここで INSERT ではなく REPLACE をしたいのです。
このようなイメージです。
SpamModel.objects.bulk_create([
SpamModel(**item) for item in items], mysql_replace=True)
こんなコードでできないものかと。
REPLACE INTO spam_spammodel (a, b) VALUES (...), (...), (...), ...
このようなSQLが出ることを想定しています
※ UPSERT ではありません。また、DELETE してからの INSERT でもありません。あくまで、MySQL の REPLACE 文での実行をしたいのです。