2015-04-05 1:29 GMT+02:00 Mike Bayer <[email protected]>:

>
>
> On 4/4/15 7:22 PM, Daniel Kerkow wrote:
>
> Hi,
> I am new to SQLAlchemy, doing my first steps with Flask.
> I have the following model using JSONB data type in PostgreSQL.
>
> The JSON data looks like
>
>  {'key1': 'value1', 'key2': 'value2'}
>
> The Docs are relatively sparse regarding this topic.
>
>
> the cases you ask for are all described at :
>
>
> http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html#sqlalchemy.dialects.postgresql.JSON
>
>  How can I query the properties column for containing a specific key or
> key=value combination?
>
>
> select([table]).where(table.c.col['key'] == 'somevalue')
>

Seems I am doing something wrong here:

select(Record).where(Record.c.properties['key']  == 'value')

TypeError: '_BoundDeclarativeMeta' object is not iterable

Did I miss to import something? Any preparations?


>
>  How can I update these?
>
>
> update([table]).values({table.c.col['key'] = 'value'})
>
>  Can I get a list of unique keys in all records?
>
>
> i dunno.  Whats the Postgresql query you'd like to emit?
>
>
In raw psql, the following works:
select *
from records
where properties->>'color' = 'black';



>
>
>
> Any help is welcome!
>
> Daniel
>
>  class Record(Base):
>
>     """represents single stratigraphic units"""
>
>     # ID of corresponding site:
>     site_id         = db.Column(db.Integer, db.ForeignKey('public.sites.id
> '))
>
>     # depth values:
>     depth           = db.Column(db.Numeric, nullable=True)
>     upper_boundary  = db.Column(db.Numeric, nullable=True)
>     lower_boundary  = db.Column(db.Numeric, nullable=True)
>
>     # stratigraphic properties, represented as key/value store
>     properties      = db.Column(JSONB)
>
>  --
> 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 http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>
>
>  --
> You received this message because you are subscribed to a topic in the
> Google Groups "sqlalchemy" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/sqlalchemy/vk6L6152vE8/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to