Mysql
 sql >> Database >  >> RDS >> Mysql

Django:utilizzo di inserti SQL grezzi personalizzati con executemany e MySQL

Ecco una soluzione che utilizza effettivamente executemany() !

Fondamentalmente l'idea nell'esempio qui funzionerà.

Ma nota che in Django, devi usare il segnaposto %s anziché il punto interrogativo.

Inoltre, vorrai gestire le tue transazioni. Non ne parlerò qui perché c'è molta documentazione disponibile.

    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()