Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Django:Usando inserções SQL brutas personalizadas com executemany e MySQL


Aqui está uma solução que realmente usa executemany() !

Basicamente a ideia no exemplo aqui vai funcionar.

Mas note que no Django, você precisa usar o espaço reservado %s ao invés do ponto de interrogação.

Além disso, você vai querer gerenciar suas transações. Não vou entrar nisso aqui, pois há muita documentação disponível.
    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()