728x90

파이썬에서 날짜형식의 데이터 가공할때, strftime 과 strptime의 차이

 

-> 데이터가 문자열이고, 이를 날짜형식으로 바꾸어 날짜처럼 계산해주려 할때, strptime

  이때 가공된 데이터 형태는 datetime.datetime(2020, 12, 29, 0, 0) 이런 형태이다.

  즉 클라이언트에 넘겨주기에 좋은 형태는 아님. 서버에서 날짜로 가공할때만 활용

 

-> 날짜형식으로 저장된 데이터의 형태를 가공해줄때, strftime 활용

 

다대다 관계로 인해 만들어준 테이블을 서버에서 가공할때는 ORM 방식을 활용할수 없다. 이때 사용하는게  "from sqlalchemy import create_engine"

 

데이터를 넣을때는

 

engine = create_engine(DevelopmentConfig.SQLALCHEMY_DATABASE_URI)

 

query = text("""INSERT INTO schedules_medicines(schedules_common_id, medicines_id) VALUES (:each_schedules_common_id, :each_medicine_id)""")

 

each_schedules_common_id = schedules_common_id

 

with engine.connect() as con:

  for each_medicine_id in medicines_id:

  new_schedules_medicine = con.execute(query, {'each_schedules_common_id': each_schedules_common_id, 'each_medicine_id'each_medicine_id})

 

데이터 받을때는

 

engine = create_engine(DevelopmentConfig.SQLALCHEMY_DATABASE_URI)

 

query = text("""SELECT medicines_id FROM schedules_medicines WHERE schedules_common_id :each_schedules_common_id""")

 

with engine.connect() as con:

  result = con.execute(query, {'each_schedules_common_id': schedules_common_id})

 

medicines_id = [row[0] for row in result]

-> 해당 코드가 핵심이다. 그냥 결과값은 우리가 읽을수 없는 어떠한 형태로 출력되고 이걸 읽을 수잇는 형태로 가공해야함

stackoverflow.com/questions/17972020/how-to-execute-raw-sql-in-flask-sqlalchemy-app

728x90

'TIL(Today I Learned)' 카테고리의 다른 글

TIL_210102  (0) 2021.01.02
TIL_201211  (0) 2020.12.11
201204_TIL  (0) 2020.12.04
201203_TIL  (0) 2020.12.03
20201202_TIL  (0) 2020.12.02

+ Recent posts