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.