MySQL INSERT… ON DUPLICATE KEY UPDATE с django 1.4 для массовой вставки

У меня проблемы с выяснением ВСТАВКИ MySQL ... НА ДУБЛИКАТЕ ОБНОВЛЕНИЕ КЛЮЧЕЙ с django 1.4

Таблица, в которую я пытаюсь вставить записи, имеет уникальный ключ в 2 столбца (составной). Записи, которые я получаю, поступают из стороннего источника, и их значения будут меняться со временем, за исключением тех полей, в которых задан уникальный ключ. Я получаю 1 ~ 5 тыс. Записей одновременно, и мне потребуется

В настоящее время я использую Model.objects.bulk_create для массовой вставки, производительность действительно впечатляет, поскольку обычно выдает один запрос независимо от размера набора записей. Однако, поскольку мои записи могут со временем меняться на стороннем сервере, мне нужно выполнить запрос MySQL INSERT ... ON DUPLICATE KEY UPDATE для набора записей.

Я планирую написать необработанные операторы SQL и выполнить что-то вроде здесь:

sql = "MySQL INSERT ... ON DUPLICATE KEY UPDATE"

raw_insert(sql)

def raw_insert(sql):
    from django.db import connection, transaction
    cursor = connection.cursor()

    # Data modifying operation - commit required
    cursor.execute(sql)
    transaction.commit_unless_managed()

    return 1

Хотите знать, есть ли лучшее решение моей проблемы? Также, как бы я санировал значения полей для необработанной вставки?

Ответы на вопрос(2)

Ваш ответ на вопрос