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.