On Thu, Feb 8, 2018 at 3:29 PM, Jeremy Flowers
<jeremy.g.flow...@gmail.com> wrote:
> I've seen you can do things like this:
> fields = ['jobmst_type', 'jobmst_name']
>  print(session.query(Jobmst).options(load_only(*fields)).first())
>
> But according to the documentation, you should be able to do something with
> Query values() too.
> But once again I seem to be dumbfounded by the syntatic sugar.
>
> What data type does the list of values need?
> Is there a way to introspect that ahead of time?

.values() is a weird method and it's pretty old, usually people just
set the columns up front:

session.query(Jobmst.jobmst_name, Jobmst.jobmst_type)

to use values, looks similar:

session.query(Jobmsg).values(Jobmst.jobmst_name, Jobmst.jobmst_type)

all those docstrings could use examples, not just for Query but
throughout the whole Core too.

with_entities() does this too:

query(Jobmst).with_entities(Jobmst.jobmst_name, Jobmst.jobmst_type).all()

docs for that are above and the formatting is screwed up, let me fix that


>
> Thought I was onto something with .base_columns, but that didn't work
> either...
>
> I ended up with something like an instrumentalAttributes mismatch.
> print(session.query(Jobmst)
>              .values([Jobmst.jobmst_type.base_columns,
>                       Jobmst.jobmst_name.base_columns
>                       ])
>              .first()

in Python, when you see method(*params) with the asterisk, you send
each element individually:

method('a', 'b', 'c', 'd', ...)

without the asterisk, you'd send the list.


>       )
>
> sqlalchemy.exc.InvalidRequestError: SQL expression, column, or mapped entity
> expected - got '[{Column('jobmst_type', Numeric(scale=0, asdecimal=False),
> table=<jobmst>, nullable=False)}, {Column('jobmst_name', String(length=256),
> table=<jobmst>, nullable=False)}]'
>
> BTW: I'm aware of querying with things like query(Jobmst.jobmst_type,
> Jobmst.jobmst_name) too - but looking to understand what values expects.
> Mike, Can documentation not specify type?
>
> --
> 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 sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> Visit this group at https://groups.google.com/group/sqlalchemy.
> 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 sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to