On 17/06/2013 17:35, Michael Bayer wrote:
On Jun 17, 2013, at 2:36 AM, Chris Withers<[email protected]> wrote:
Hi All,
I have a model roughly like this:
class Instrument(Base):
__tablename__ = 'instrument'
id = Column(String(10), primary_key=True)
name = Column(String(100))
class Symbol(Base):
__tablename__ = 'symbol'
instrument_id = Column(String(10),
ForeignKey('instrument.id', onupdate='cascade'),
primary_key=True)
instrument = relationship("Instrument")
name = Column(String(20), nullable=False)
period = Column(TSRANGE(), nullable=False, primary_key=True)
How can I set up a 'symbols' dictionary-based collection on Instrument which
uses the following query to populate:
session.query(Symbol).filter(
instrument_id==self.id,
Symbol.period.contains(func.now())
)
well you're going to have relationship with
"primaryjoin=and_(Symbol.instrument_id==Instrument.id,
Symbol.period.contains(func.now()))" (what does contains(func.now()) do ?
# select now();
now
-------------------------------
2013-06-21 18:38:06.015838+01
(1 row)
then collection_class=attribute_mapped_collection(<attribute you want to key
on>).
Okay, and how does assignment to that dictionary work? I need to modify
the period of the old row, if there is one, and then insert the new row.
cheers,
Chris
--
Simplistix - Content Management, Batch Processing & Python Consulting
- http://www.simplistix.co.uk
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.