Mysql
 sql >> Base de données >  >> RDS >> Mysql

Django :Utilisation d'insertions SQL brutes personnalisées avec executemany et MySQL

Voici une solution qui utilise en fait executemany() !

Fondamentalement, l'idée dans l'exemple ici fonctionnera.

Mais notez que dans Django, vous devez utiliser l'espace réservé %s plutôt que le point d'interrogation.

De plus, vous voudrez gérer vos transactions. Je n'aborderai pas cela ici car il y a beaucoup de documentation disponible.

    from django.db import connection,transaction
    cursor = connection.cursor()
    
    
    
    query = ''' INSERT INTO table_name 
            (var1,var2,var3) 
            VALUES (%s,%s,%s) '''
    
    
    query_list = build_query_list() 
    
    # here build_query_list() represents some function to populate
    # the list with multiple records
    # in the tuple format (value1, value2, value3).
    
    
    cursor.executemany(query, query_list)
    
    transaction.commit()