Hi!

I'm creating a structure of "elements" dynamically with declarative,
and I'm not sure if I can modify the mapper to get the new elements
related with a FK. Sorry about my english, is very poor.

This is my function class factory:

def nuevaEtiqueta(self, nombre_etiqueta):
    etiqueta = nombre_etiqueta.lower().strip()
    nombre_etiqueta = "etiquetas_" + etiqueta
    dicc = {'__tablename__':nombre_etiqueta,'__table_args__ ':
{'autoload':True}}

    id = Column(Integer,primary_key=True);dicc.update({'id':id})
    tipo = Column(Text);dicc.update({'tipo':tipo})
    contenido_texto =
Column(Text);dicc.update({'contenido_texto':contenido_texto})
    contenido_binario =
Column(LargeBinary);dicc.update({'contenido_binario':contenido_binario})
    fichero = Column(Text);dicc.update({'fichero':fichero})
    ref_elemento = Column(Integer,ForeignKey('elementos_'+etiqueta
+'.id'));dicc.update({'ref_elemento':ref_elemento})

    def __init__(self, diccio):
      self.tipo = diccio["tipo"]
      if self.tipo == "BIN":
        self.contenido_binario = diccio["contenido_binario"]
        self.fichero = diccio["fichero"]
      else:
        self.contenido_texto = diccio["contenido_texto"]
    dicc.update({'__init__':__init__})

    def __repr__(self):
      aux = "ETIQUETA "
      if self.tipo == 'BIN':
        return aux + " BINARIA"
      else:
        return aux + "%s -> CONTENIDO: %s" %
(self.tipo,self.contenido_texto)
    dicc.update({'__repr__':__repr__})

    clase_etiqueta = type(str(nombre_etiqueta),(Base,),dicc)
    self.etiquetas_map.update({nombre_etiqueta:clase_etiqueta})

Now, when a new class is created, I want the mapper adds the FK

I'm trying to do this with session mappers but with no success.

Can you help?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to