sql >> Base de Datos >  >> RDS >> Mysql

Django:uso de inserciones de SQL sin procesar personalizadas con executemany y MySQL

Aquí hay una solución que en realidad usa executemany() !

Básicamente la idea en el ejemplo aquí funcionará.

Pero tenga en cuenta que en Django, debe usar el marcador de posición %s en lugar del signo de interrogación.

Además, querrá administrar sus transacciones. No entraré en eso aquí ya que hay mucha documentación 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()