The problem is a behavioral quirk. I'm not sure if this is a regression or not, but I've seen it brought up recently...
IIRC: The join creates a matrix result (many rows), but `first()` only pulls the first item from the result. Calling 'one()' will pull all the results, but raise an error if the results are 0 or greater than 1. (ensures one and only one result). I'd speculate that ensuring the result for `one()` doesn't apply to the number of rows that concern child objects – but I could be wrong. -- 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 sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.