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.

Reply via email to