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 [email protected].
> To unsubscribe from this group, send email to
> sqlalchemy+unsubscribe@googlegroups.com<[email protected]>
> .
> 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 [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.