sqlite - Python datatime object issue with SQLAlchemy -


i using sqlalchemy , having issue wrt sqlite error:

sqlite date type accepts python date objects input.  [sql: 'select anon_1.patient_sid sid  (select clinical_data.patient_sid patient_sid clinical_data  clinical_data.event_date >= ?) anon_1'] 

i understand meaning of error, not understand why happening in case.

the parameter passing date comparison in query above clinical_data.event_date >= ?, set as:

valdate = datetime.strptime('1776-01-01 00:00:00', "%y-%m-%d %h:%m:%s").date() 

and, have validated data type of valdate <type 'datetime.date'>

the class used construct query is:

class clinicaldata(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 sqlite states (see sqlalchemy sqlite documentation) "sqlalchemy’s own datetime , related types provide date formatting , parsing functionality when sqlite used..."

i not asking how convert string object python datetime object, nor asking error means. not sure why keep getting error when appears sufficiently defined.

edit

note when use datetime in model on event_date attribute following error sqlite datetime type accepts python datetime , date objects input. define valdate = datetime.strptime('1776-01-01 00:00:00', "%y-%m-%d %h:%m:%s") without date() method. expected, type(valdate) in case yields <type 'datetime.datetime'>.

i have tried every combination of creating variable valdate event_date attribute of class.

the error says:

sqlite date type accepts python date objects input.

but don't have date object — have datetime object! turn datetime date, call date() method — though judging fact strptime format includes time fields (%h:%m:%s), might want change event_date column(date) column(datetime) instead.


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -