peewee有两种方式获取crud操作对应的sql语句:使用logging,代理peewee,以输出日志的形式打印sql访问modelinsert等类实例的__str__方法。现在要说的是后者:获取插入操作的sqldefsave_record(user_id:int,long_url:str,short_uuid:str)->InsertResult:insert_obj=TinyUrl.insert(user_id=user_id,long_url=long_url,long_url_hash=md5_helper.get_string_md5(long_url),short_uuid=short_uj=insert_)sql)started_at=time.time()row_id=insert_obj.execute()ended_at=time.time()返回InsertResult(tracks=[DBCrudTrack(sql=sql,pay_time=ended_at-started_at)],row_id=row_id)获取查询操作&(TinyUrl.long_url_hash==long_url_hash))sql=str(查询)start_at=time.time()行:list[dict]=list(query.dicts())end_at=time.time()returnSelectResult(tracks=[DBCrudTrack(sql=sql,pay_time=end_at-start_at)],rows=[Row(**行)对于行中的行])
