파이썬에서 날짜형식의 데이터 가공할때, 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
'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 |