I just realized that I have to assign the returned value of
matches_query.limit(2) back to matches_query. Sorry for the stupid question
everyone :( Maybe I should take a break from programming... forever.

- Mike




On Sun, Nov 25, 2012 at 6:25 PM, Michael Parker
<[email protected]>wrote:

> Hi all,
>
> For the following code, which uses tables for CalendarEntry, Match, and
> Team entities:
>
> team_alias1 = aliased(Team)
> team_alias2 = aliased(Team)
> matches_query = session\
> .query(CalendarEntry.match_id, Match, team_alias1, team_alias2)\
>  .join(Match, CalendarEntry.match_id == Match.id)\
> .join(team_alias1, Match.team1_id == team_alias1.id)\
>  .join(team_alias2, Match.team2_id == team_alias2.id)\
> .filter(CalendarEntry.user_id == client_id)\
>  .limit(2)
>
> When setting echo=True and running my unit tests in SQLite, I get a query
> that looks like:
>
> SELECT "CalendarEntries".match_id AS "CalendarEntries_match_id",
> "Matches".id AS "Matches_id", ... etc
> WHERE "CalendarEntries".user_id = ? LIMIT ? OFFSET ?
> (1, 2, 0)
>
> Which correctly returns 2 CalendarEntry objects. However, if I no longer
> chain the call to limit immediately, but put it in its own statement, like
> so:
>
> matches_query = session\
> .query(CalendarEntry.match_id, Match, team_alias1, team_alias2)\
> .join(Match, CalendarEntry.match_id == Match.id)\
>  .join(team_alias1, Match.team1_id == team_alias1.id)\
> .join(team_alias2, Match.team2_id == team_alias2.id)\
>  .filter(CalendarEntry.user_id == client_id)
> matches_query.limit(2)
>
> Then I get a query without a LIMIT, which returns all CalendarEntry
> objects:
>
> SELECT "CalendarEntries".match_id AS "CalendarEntries_match_id",
> "Matches".id AS "Matches_id", ... etc
> WHERE "CalendarEntries".user_id = ?
> (1,)
>
> Can someone explain what's going on, and how to fix this?
>
> Thanks,
> Mike
>
>  --
> 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/-/AsqSgGMMBxoJ.
> 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.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
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.

Reply via email to