Hi Mike,
Modifications of your test made to point to the actual database file I am
using worked. The only difference in your test versus my code is that my
ClinicalData class definition uses a Flask db.Model versus a straight
declarative_base. I'll need to play around with this a bit more.
Interesting.

Thanks!

Greg--

On Thu, Nov 10, 2016 at 8:33 PM, mike bayer <mike...@zzzcomputing.com>
wrote:

>
>
> On 11/10/2016 08:10 PM, horcle_buzz wrote:
>
>> I am using SQLAlchemy and am having an issue wrt to an SQLite error:
>>
>>
>> |
>> SQLiteDatetype only accepts Pythondate objects asinput.
>>     [SQL:'SELECT anon_1.patient_sid AS sid FROM
>>     (SELECT clinical_data.patient_sid AS patient_sid FROM clinical_data
>>     WHERE clinical_data.event_date >= ?) AS anon_1']
>> |
>>
>>
>> I understand perfectly the meaning of the error, but I do not understand
>> why it is happening in my case.
>>
>
>
> nor do I.  You'd need to provide a complete test. Here is one, modify it
> to show how you get your error.
>
>
> from sqlalchemy import *
> from sqlalchemy.orm import *
> from sqlalchemy.ext.declarative import declarative_base
> from datetime import datetime
>
> Base = declarative_base()
>
>
> class ClinicalData(Base):
>         __tablename__ = 'clinical_data'
>         id = Column(Integer, primary_key=True, autoincrement=True)
>         patient_id = Column(Integer)
>         event_date = Column(Date)
>
> e = create_engine("sqlite://", echo=True)
> Base.metadata.create_all(e)
>
>
> valdate = datetime.strptime('1776-01-01 00:00:00', "%Y-%m-%d
> %H:%M:%S").date()
>
> s = Session(e)
> s.add(ClinicalData(event_date=valdate))
> s.commit()
>
>
> print s.query(ClinicalData).filter(ClinicalData.event_date >=
> valdate).all()
>
>
>
>
>> The parameter that I am passing to do the date comparison in the query
>> above
>> |
>> clinical_data.event_date >=?
>> |
>> is set as:
>>
>>
>> |
>> valdate =datetime.strptime('1776-01-01 00:00:00',"%Y-%m-%d
>> %H:%M:%S").date()
>> |
>>
>>
>> and, I have validated that the data type of `valdate` is `<type
>> 'datetime.date'>`
>>
>> The class used to construct the query is:
>>
>> |
>>   classClinicalData(db.Model):
>>         __tablename__ ='clinical_data'
>>         id =Column(Integer,primary_key=True,autoincrement=True)
>>         patient_id =Column(Integer)
>>         patient_sid  =Column(Integer)
>>         string_value =Column(String(255))
>>         double_value =Column(Float)
>>         data_type_id =Column(Integer)
>>         event_date =Column(Date)
>>         ontology_id =Column(Integer)
>>         attribute_id =Column(Integer)
>>         project_id =Column(Integer)
>>         replaced_by_id =Column(Integer)
>>         date_record_added =Column(DateTime)
>>         parent =Column(Integer)
>>         num_children =Column(Integer)
>>         lft =Column(Integer)
>>         rgt =Column(Integer)
>> |
>>
>>
>> The SQLAlchemy documentation for SQLite states (see [SQLAlchemy SQLite
>> documentation][1] <
>> http://docs.sqlalchemy.org/en/latest/dialects/sqlite.html>) that
>> "SQLAlchemy’s own DateTime and related types provide date formatting and
>> parsing functionality when SQlite is used..."
>>
>> Note that when I use `DateTime` as a data type in my class model on the
>> `event_date` attribute I get the following error
>> |
>> SQLiteDateTimetype only accepts Pythondatetime anddate objects asinput.
>> |
>>
>> For this I define
>> |
>> valdate =datetime.strptime('1776-01-01 00:00:00',"%Y-%m-%d %H:%M:%S")
>> |
>>
>> without the `date()` method. As expected, `type(valdate)` in this case
>> yields
>> |
>> <type'datetime.datetime'>
>> |
>>
>> I have tried every combination of creating the variable `valdate` with
>> the `event_date` attribute of my class.
>>
>> I am not asking how to convert my string object to a python datetime
>> object, nor am I asking what the error means. I am not sure exactly why
>> I keep getting this error when everything appears to be sufficiently
>> defined.
>>
>> --
>> 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
>> <mailto:sqlalchemy+unsubscr...@googlegroups.com>.
>> To post to this group, send email to sqlalchemy@googlegroups.com
>> <mailto: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 a topic in the
> Google Groups "sqlalchemy" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/to
> pic/sqlalchemy/hJ12o7rGNp0/unsubscribe.
> To unsubscribe from this group and all its topics, 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.
>



-- 
Greg M. Silverman

 ›  flora-script <http://flora-script.grenzi.org/> ‹
 ›  grenzi.org  ‹

-- 
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