Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/12/2012, 14:15
tecafede
 
Fecha de Ingreso: noviembre-2012
Mensajes: 111
Antigüedad: 12 años
Puntos: 6
Duda for y concatenar para llenar datos en una tabla

Buenas, a fuerza de ensayo y error y de leer tutoriales creo que vengo aprendiendo

Tengo una base de datos y esta una tabla con datos de usuarios.

Necesito automatizar el llenado inicial usando un FOR pero el tema de como concatenar me está complicando.

La tabla es algo como:
Código:
class Usuario(Base):
    __tablename__ = 'usuarios'
    id = Column(Integer, primary_key=True)
    name = Column(String(10))
    active = Column(String(1))
Donde id es un número secuencial, 1, 2, 3, etc...
name es siempre "Usuario1" para el primer caso, "Usuario2" para el segundo, etc...
y active inicialmente es "N" (porque creo entender que SQL no admite booleans, así que controlaré si un usuario está activo o no con "S" o "N")

Bueno la idea es automatizar este ciclo:

Código:
def InicioUsuarios():
    # Inicio la cantidad de usuarios
    engine.execute("INSERT INTO usuarios VALUES (1,'Usuario1','N')")
    engine.execute("INSERT INTO usuarios VALUES (2,'Usuario2','N')")
    engine.execute("INSERT INTO usuarios VALUES (3,'Usuario3','N')")
    engine.execute("INSERT INTO usuarios VALUES (4,'Usuario4','N')")
    engine.execute("INSERT INTO usuarios VALUES (5,'Usuario5','N')")
para una cantidad cualquiera de usuarios, o sea que si defino

maxusuarios = 50

que el FOR me llene los datos de esos 50 usuarios

Lo que me complica es como concateno el 'Usuario1' que en realidad es la cadena 'Usuario' + el número que corresponda del FOR....

Mi idea es algo como:

Código:
def InicioUsuarios()
    for x in range(maxusuarios+1):
         engine.execute("INSERT INTO usuarios VALUES (x,'Usuariox','N')"
pero preciso cambiar 'Usuariox' por algo como 'Usuario'+STR(x) ???