Hi, On Feb 10, 2010, at 6:54 PM, David Ressman wrote:
> Hello, > > First of all, I'll apologize if this is a really basic question. I've not > been using SQLAlchemy for long, and I've only very recently picked up Python. > Even though I've looked everywhere I can think of for an answer to this > question, I'm almost certain that it is not a difficult one. I'm happy to > read through any documentation you can point me to, but I've not been able to > see what might be relevant to this particular question. > ... > What I want is an easy way to access a user's n most recent Usage objects for > each filesystem. (For the purpose of this e-mail, we can take n=1.) It would > be easy enough for me to just take the last m records in the > user_obj.usage_data list (where m is the number of filesystems for which this > user has records), but that's not really what I want. One filesystem might be > storing records every hour, and another might be storing them every day. In > that case, it would be hard to know how many records I would need to take > from user_obj.usage_data to have the most recent record from each filesystem. > > It wouldn't be hard to actually use a session object to build a query for > this, but I'd really like to have this all taken care of in the > objects/maps/relations/whatever themselves. I'd like to have some attribute > in the User object that's like user_obj.usage_data, but instead gives me a > list of only the most recent Usage object from each filesystem, so I'd see > something like: > >>>> user_obj.most_recent_usage > [<Usage('user', 'fs1', 'some-date', foo:bar)>, > <Usage('user', 'fs2', 'some-other-date', f0o:bAr)>, > <Usage('user', 'fs3', 'some-third-date', fo0:b4r)>] > > I hope I was clear in my description. If I've left anything out, I'll be > happy to clarify. What you likely want to dig into is Query enabled properties (http://www.sqlalchemy.org/docs/mappers.html?highlight=property%20association#building-query-enabled-properties). I used this a lot of times to tie what appears to be a relationship but that is driven by an underlying query. I don't have time right now to whip up the action property, but if you play with it a bit I'm sure you'll be able to get there. Michael -- 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.