使用json_populate_record将datetime插入数据库

时间:2018-06-15 13:31:57

标签: python json postgresql

如何使用QListView将python的datetime插入时间戳列?

我试过[建议] [1]。但是当我使用json_populate_record时,它对我不起作用:

json_populate_record

对于上面的代码,我有一个例外:

def add_trade(self, order_sell_id: UUID, execution_time: datetime):
    trade = {
        "order_sell_id": order_sell_id,
        "execution_time": "TIMESTAMP " + str(execution_time)
    }
    try:
        order_sql = (
            f"INSERT INTO \"trade\"(order_sell_id, execution_time) "
            f" SELECT order_sell_id, execution_time"
            f" FROM "
            f"json_populate_record(NULL::\"trade\", '{json.dumps(trade)}');")

        result = self.database.query(order_sql)
    except pg.IntegrityError as e:
        pass

我尝试插入pg.DataError: ERROR: invalid input syntax for type timestamp: "TIMESTAMP 2018-06-15 16:14:36" 只需添加到dict:

datetime

得到了:

"execution_time": execution_time

1 个答案:

答案 0 :(得分:1)

仅使用str()

    "execution_time": str(execution_time)

或使用strftime()格式化日期时间:

    "execution_time": execution_time.strftime("%Y-%m-%d %H:%M:%S")