Nevermind - that was dumb. I just established things as a primary key @ the ORM level.
On Fri, May 24, 2019 at 3:13 AM Michael P. McDonnell <[email protected]> wrote: > Johnathan - > > I love this. I've created a view - and can easily get to it as an object > itself. > > Quick question: how do I establish a "view" as a relationship then? Given > there's no primary key...? > > On Thu, May 23, 2019 at 6:52 PM Jonathan Vanasco <[email protected]> > wrote: > >> FWIW, I often make queries that map to a 'logical object' like this one >> (e.g. "leaderboard") that have a lot of reads as a View in the database, >> then create a separate SqlAlchemy ORM object for it and have every relation >> to/from that marked as view_only. This has nothing to do with writing the >> query in SqlAlchemy (you'll be writing much more complex ones sooner, and >> with ease), and more with managing that type of info and keeping the >> queries optimized on the database management layer. So I tied an onion to >> my belt, which was the style at the time. >> >> >> >> On Thursday, May 23, 2019 at 3:52:00 AM UTC-4, Michael P. McDonnell wrote: >> >>> Hi Everybody! (Hi Dr. Nick!) >>> >>> I am creating a game for the work I'm doing - and while I didn't create >>> the schema - I certainly have to program against it. >>> What I have is a PERSON, a GAME, a PLAY and a collection of RESULT >>> >>> What I'd like to do is call the "leaderboard" member of my GAME class - >>> and get the read only results from the following query: >>> SELECT >>> person.display_name AS display_name, >>> COUNT(result.task_id) AS total_tasks_completed, >>> SUM( >>> (result.finish_dttm - result.start_dttm) - result.validation_time >>> ) AS total_time >>> FROM >>> result >>> JOIN play ON (result.play_id = play.id) >>> JOIN person ON (play.person_id = person.id) >>> JOIN game ON (play.game_id = game.id) >>> WHERE game.id = 'fc8dd2e5-ecdb-47f4-811e-3c01ee9f4176' >>> GROUP BY person.display_name >> >> >> >> -- >> SQLAlchemy - >> The Python SQL Toolkit and Object Relational Mapper >> >> http://www.sqlalchemy.org/ >> >> To post example code, please provide an MCVE: Minimal, Complete, and >> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >> description. >> --- >> 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 [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/sqlalchemy. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sqlalchemy/06bfe40f-30f9-4580-b2af-87e43ab552ee%40googlegroups.com >> <https://groups.google.com/d/msgid/sqlalchemy/06bfe40f-30f9-4580-b2af-87e43ab552ee%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sqlalchemy. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/CAHmCLHom2rvdeYGY8XL8EmryVNktJHevbTwAz3Appd__oLtfOA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
