python - 一个协程在等待之后返回一个协程
问题描述
我正在使用 ASGI 服务器(改编本教程)在 django 上为 fastAPI 编写测试。我的 fastAPI 方面的测试不断返回错误,我试图修复它是徒劳的。
我的需要是创建一个用户来测试 API。
@sync_to_async
def _create_user(self, username, email):
try:
return User.objects.create(username=username, email=email)
except:
return None
async def setUp(self):
task = asyncio.create_task(self._create_user(username="user", email="email@email.com"))
self.user = await task
运行这个测试,结果证明这self.user
是一个协程,无法访问我期望的属性。
如何解决这个问题?
更新:
删除了_create_user(self, username, email)
.
解决方案
根据文档https://docs.djangoproject.com/en/3.1/topics/async/#asgiref.sync.sync_to_async 装饰器 sync_to_async 应该装饰同步功能。(见示例)
推荐阅读
- python - 有没有办法在使用 pandas df.to_csv 时自动添加文件扩展名?
- node.js - 列出 Connected Stripe 账户的所有费用
- python - 缩小/调整绘图内的颜色条
- material-ui - React-Testing-Library 找不到具有给定角色和名称的组件
- sql - SQL Server Schema Compare 显示数据库中的所有表、视图、过程、函数
- windows - 在 Anaconda 下使用 tensorflow 和 Jupyter
- xamarin.forms - Android.Views.InflateException:'二进制 XML 文件第 1 行:二进制 XML 文件第 1 行:错误膨胀类 android.support.v7.widget.Toolbar'
- html - 来自过滤值的子组件中的角度刷新数据
- flutter - 无法导入字体系列
- r - 无法使用 RSelenium 从 UL 中选择项目