no, i'm on postgresql, the tables was generated django with syncdb,

i see the example, and change relate() to this:
self.db.catalog_unit.relate('catalog_product', self.db.catalog_product, 
            
primaryjoin="catalog_product.id==catalog_unit.unit_purchase_id", 
cascade='all, delete-orphan') 

shows this error:
sqlalchemy.exc.ArgumentError: Column-based expression object expected for 
argument 'primaryjoin'; got: 
'catalog_product.id==catalog_unit.unit_purchase_id', type <type 'str'>

so, i have to create the tables with Base, like this??:

class Unit(Base):
    __tablename__ = 'catalog_unit'
    id = Column(Integer, primary_key=True)
    name = Column(String)

   ....

El viernes 23 de marzo de 2012 22:53:14 UTC-6, Michael Bayer escribió:
>
> you'd need to specify join conditions as they occur in an example like 
> this one:
>
>
> http://docs.sqlalchemy.org/en/​latest/orm/relationships.html#​setting-the-primaryjoin-and-​secondaryjoin<http://docs.sqlalchemy.org/en/latest/orm/relationships.html#setting-the-primaryjoin-and-secondaryjoin>
>
> relate() should accept the same arguments as relationship().
>
> the source of the issue is probably that you're on MySQL using MyISAM 
> tables, which do not store any information about FOREIGN KEY constraints 
> and thus SQLAlchemy doesn't know they exist when SQLSoup reflects the 
> structure of the tables from the database.
>
>
>
>
> On Mar 24, 2012, at 12:47 AM, temo wrote:
>
> Hi
>
> Im mapping a database with sqlsoup and when use db.relate shows this error:
>
> sqlalchemy.exc.ArgumentError: Could not determine join condition between 
> parent/child tables on relationship MappedCatalog_unit.catalog_​product. 
>  Specify a 'primaryjoin' expression.  If 'secondary' is present, 
> 'secondaryjoin' is needed as well.
>
>
> this a sample of how looks the relationship in data base
>
> catalog_unit:
> name = char()
>
> catalog_product:
> unit_purchase = ForeignKey(catalog_unit)
> unit_sale = ForeignKey(catalog_unit)
>
> anyone knows how fix it?
>
>
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To view this discussion on the web visit 
> https://groups.google.com/d/​msg/sqlalchemy/-/7hRFVPz7MssJ<https://groups.google.com/d/msg/sqlalchemy/-/7hRFVPz7MssJ>
> .
> To post to this group, send email to sqlalchemy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sqlalchemy+unsubscribe@​googlegroups.com<sqlalchemy+unsubscr...@googlegroups.com>
> .
> For more options, visit this group at 
> http://groups.google.com/​group/sqlalchemy?hl=en<http://groups.google.com/group/sqlalchemy?hl=en>
> .
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sqlalchemy/-/-Wp6NEFIpA8J.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to