最赞回答 / duskash
yield 虽然也是返回函数结果, 但是相对 return, yield 可以“做到一半”就返回, 并将函数挂起在这个位置, 等其他事情做完之后, 再回头从这个位置继续往下执行.这里用 yield, 是因为我是先“连接上数据库”, 可以读数据啊之类的; 但是这时候前端传回来一组数据, 比如“某件商品的单价”和“商品销售数量”. 我要存的是“销售总额”, 那么后端可能会计算前两个数据的乘积——这就是“另一件事”. 等这个乘法做完了, 我就可以在当前的数据库连接状态下将数字存进去了return 运行完之后, ...
2021-09-15
最新回答 / liuzh_
使用print(dir(item))可以打印item变量相关的参数,但是上传到服务器的文件是文件内容,也就是字节码到服务器的,此时他不是一个实实在在的文件,文件时间是没有意义的,如过有此业务场景需求,可以从前台讲文件时间一并送给服务器
2021-07-21
最新回答 / duskash
可以贴一下 database.py, models - > City 类, schema -> CreatedCity 类, curd -> create_city 函数这四个部分的代码, 感觉可能是哪个环节没有对上. 另外 sqlalchemy 版本是? 我这里比较新的 1.14 版本和教程里的一些操作不兼容
2021-06-24
最新回答 / duskash
我来推荐一个orm 库, tortoise-orm这个支持异步操作 sqlite3、mysql、postgresql 三种数据库, 配置和部署都比 sqlalchemy 简单你说的这个问题, tortoise-orm 里面可以在初始化数据库的时候<...code...> 到这里, 后面的 `connection1` 等就可以用 orm 操作了
最赞回答 / duskash
这个问题搞了我一晚上, 终于找到问题出在哪了……<...code...>这段代码里, 当 city 没有值的时候, 是走下面一条, 注意到最后一行有一个 .all() 这个方法会传回真实数据的 list反观 if 为真的时候, 结尾没有 .all(), 这个时候返回的是一个 Query, 不是 list, 自然也无法被 fastapi 转为有意义的输出, 就报错了. 我是加上 .all() 之后, 就可以正常跑了
2021-04-13