В настоящее время я настраиваю класс с использованием SQL Alchemy. Этот класс имеет атрибут start_date
, определенный следующим образом:
from sqlalchemy import Column, DateTime
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Foo(Base):
__tablename__ = "foo"
id = Column(UUID(as_uuid=True), primary_key=True)
start_date = Column(DateTime, nullable=True)
Тем не менее, я сталкиваюсь с проблемой типа:
foo = Foo(start_date="2019-05-05")
print(foo.start_date, type(foo.start_date))
# 2019-05-05 <class 'str'>
Я бы ожидал дату и время здесь, особенно какпри извлечении той же записи из базы данных я получаю объект даты и времени:
foo = Foo(id=uuid.uuid4(), start_date="2019-05-05")
db_session.add(foo)
db_session.commit()
db_session.refresh(foo)
print(foo.start_date, type(foo.start_date))
# 2019-03-01 00:00:00 <class 'datetime.datetime'>
Есть ли способ вызвать приведение из объявления Column
?