Carl,

the formatting got a bit messed up but if I read your definition
correctly you defined the relation as 'splits'. So you'd want to write
"trainingEffor.splits" (lower case 's' in splits).

-sas

On Aug 12, 9:20 am, Bleve <carl.i.bre...@gmail.com> wrote:
> I'm using SQLAlchemy 0.6.3 on Python 2.6 (win32)
>
> I have a class, Efforts, which has many splits (time and distance and
> some other fluff), so for each training effort, there can be one or
> more splits.  It has a few other relationships as well, but this is
> the important one, or at least, the one I'm stuck on at the moment!
>
> The definition in my script :
>
> class Efforts(Base):
>     __tablename__ = 'efforts'
>
>     id = Column(Integer, primary_key = True)
>     effortTypeId = Column(Integer, ForeignKey("effortTypes.id"),
> nullable=False)
>     riderId = Column(Integer, ForeignKey("riders.id"), nullable=False)
>     sessionId = Column(Integer, ForeignKey("trainingSessions.id"),
> nullable=False)
>     .
>     # stuff trimmed to save space
>     .
>
>     splits = relationship(Splits, backref='efforts',
> order_by=Splits.sequenceNumber)
>     rider = relationship(Riders, backref='efforts',
> order_by=Riders.id)
>     session = relationship(TrainingSessions, backref='efforts',
> order_by= TrainingSessions.id)
>
>     def __init__(self, effortTypeId, riderId, sessionId, distance,
> time, maxpower, fiveSecPower, \
>     maxTorque, startTime, temperature, pressure, humidity, windSpeed,
> comments, timingAccuracy, \
>     gearInches, seated, standingStartType, startingSpeed, startingLeg,
> riderWeight, bikeWeight, \
>     extraWeight, borgRPE):
>         self.effortTypeId = effortTypeId
>         self.riderId = riderId
>         self.sessionId = sessionId
>
>        # stuff trimmed ...
>
> and the 'splits' definition :
>
> class Splits(Base):
>     __tablename__ = 'splits'
>
>     id = Column(Integer, primary_key = True)
>     effort = Column(Integer, ForeignKey("efforts.id"), nullable=False)
>     sequenceNumber = Column(Integer, nullable=False, default = 1)
>     distance = Column(Float, nullable=False)
>     time = Column(Float, nullable=False)
>     timingAccuracy = Column(Float, default = 0.1)
>
>     def __init__(self, effort, sequenceNumber, distance, time,
> timingAccuracy):
>         self.effort = effort
>         self.sequenceNumber = sequenceNumber
>         self.distance = distance
>         self.time = time
>         self.timingAccuracy = timingAccuracy
>
> I've stuffed something up, because when I create an 'effort' :
>
>        trainingEffort = stDataClasses.Efforts(
>                         effortTypeId = ChosenEffortId,\
>                         riderId = self.rider.id,\
>                         sessionId = self.thisSession.id,\
>                         .
>                         .
>                         .
>                         )
>         print trainingEffort
>         print "splits in trainingEffort :", trainingEffort.Splits
>
> I should, I think, see a null array when I ask for
> trainingEffort.Splits, but instead I see this :
>
> AttributeError: 'Efforts' object has no attribue 'Splits'
>
> Can anyone here untangle my mess?  My python skill level is still very
> much a novice, I've read the SQLAlchemy doco for the ORM but I think
> something's just not sinking in.
>
> Thank you for any pointers in the right direction!
>
> Carl

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@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