Hi, I use Alchemy to connect to a legacy system with horrible table and column names. Here is a snippet to give you an idea:
po_details_table = Table('F4311', meta.metadata, Column("PDKCOO", String, primary_key=True), Column("PDDOCO", Integer, primary_key=True), Column("PDDCTO", String, ForeignKey(order_rules_table.c.FSDCTO), primary_key=True), Column("PDSFXO", String, primary_key=True), Column("PDLNID", Integer, primary_key=True), # Dates Column("PDDRQJ", JDEDate), Column("PDTRDJ", JDEDate), # Desc Column("PDDSC1", Unicode), Column("PDDSC2", Unicode), # Status Column("PDNXTR", String, ForeignKey(order_rules_table.c.FSTRTY)), Column("PDLTTR", String, ForeignKey(order_rules_table.c.FSTRTY)), Column("PDLNTY", String, ForeignKey(order_rules_table.c.FSLNTY)), schema="PRODDTA") As you can imagine, I quickly added a few synonyms to my objects: def add_synonyms(props, synonyms): """ expand a {k:v} mapping to a list of synonym properties """ props.update(dict([(k, synonym(v)) for k, v in synonyms.items()])) return props mapper(PODetail, po_details_table, properties=add_synonyms( dict(status_rule_next=relation(OrderRule, primaryjoin=_next_join), status_rule_last=relation(OrderRule, primaryjoin=_last_join)), dict(company="PDCO", company_order_key="PDCOO", business_unit="PDMCU", order_type="PDDCTO", line_type="PDLNTY", document_id="PDDOCO", line_no="PDLNID", date_requested="PDDRQJ", date_transaction="PDTRDJ") ) ) So far so good but I still need to do the joins with the column names in po_details_table and those don't have human friendly synonyms. Is there a way to create my synonyms mapping in the table object instead in doing it in the object mapper? -- Yannick Gingras --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---