On Friday, February 9, 2018 at 5:26:35 PM UTC-8, Anthony wrote:
>
> Anyway, given your code, it looks like we would not expect any results in
>>> the intersection of the two Rows objects, as the conditions of each query
>>> are mutually exclusive (i.e., "waypoint" either equals X or Y). Of course,
>>> if X == Y, then the two sets of Rows are identical, but I assume that isn't
>>> generally the case.
>>>
>>>
>> A segment row will only have one waypoint, but multiple segment rows may
>> have the same parent run. I chose to make the run table very simple (and
>> in particular, not to have a list of children), but the segment table
>> points upward to the run.
>>
>
> Your code doesn't show which columns are selected -- I suppose you are
> saying the "waypoint" column is *not *selected.
>
> Anthony
>
Well, here's the code actually being used, now that my home dev machine is
able to reach the interwebs again.
segq1 = db.segment.waypoint.contains(request.args[0])
segq2 = db.segment.waypoint.contains(request.args[1])
runs1 = db((db.run.id == db.segment.partof) & segq1).select("run.id",
"run.description", "run.distance","run.duration", orderby = db.run.id|db.run
.duration, distinct=True)
runs2 = db((db.run.id == db.segment.partof) & segq2).select("run.id",
"run.description", "run.distance","run.duration", orderby = db.run.id|db.run
.duration, distinct=True)
At this point in the code, I'm only interested in the waypoints as a link
to the parent runs. The goal is to make a list of runs that have both
waypoints as children. (That is, runs that have at least 2 segments, and
one segment contains waypoint X and one segment contains waypoint Y.)
That list will be displayed showing the run.id/s (as a link), the distance,
and the duration. Clicking on an id will show the details of that run by
selecting ALL the segments.
Sample list of runs:
run.id run.description run.distance run.duration
> 17 Work to 73 mrg via PP 7.9 9.0
> 19 Work to Home by AVP 19.5 21.0
> 20 Work to 73 mrg by La Paz 7.7 12.0
> 21 Work to Home by La Paz 19.2 24.0
Sample for details of one run (sorry about the wrap):
> segment run waypoint via
> time odometer begins ends comments
> 42 2017-05-29, Work to 73 mrg via PP Office AVP
> 12:20:00 35.0 True False
> 43 2017-05-29, Work to 73 mrg via PP Pacific Park Pacific
> Park 12:21:00 36.5 False False
> 44 2017-05-29, Work to 73 mrg via PP Moulton Oso
> Parkway 12:24:00 38.4 False False
> 45 2017-05-29, Work to 73 mrg via PP Cabot I-5
> 12:26:00 40.4 False False
> 46 2017-05-29, Work to 73 mrg via PP 73S merge I-5
> 12:29:00 42.9 False True
(I suppose I don't really need to display the IDs as well as the run
"names", but it's useful during development)
/dps
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.