python - TypeError:“Tega”对象不可迭代
问题描述
这是我的代码views.py
user_driver_list = []
tega_list = []
for driversprofiles in check_all_columns:
fetched_profile = fetch_rafiki_profile()[0]
driver_rafiki_session_existance = RafikiDriverSession.objects.filter(rafiki_number=fetch_rafiki_profile()[0], drivers_profile=driversprofiles)
user_driver = User.objects.filter(username=driversprofiles.user)
user_driver_list.append(UserSerializer(user_driver, many=True).data)
print("A")
latest_tegas = Tega.objects.filter(driver_profile=driversprofiles).latest(field_name='start_time')
tega_list.append(TegaSerializer(latest_tegas, many=True).data)
print("B")
我正在尝试获取过滤器并为 QuerySet 中的每个匹配驱动程序获取所有最新的 Tegas check_all_columns
。
解决方案
你有TegaSerializer(latest_tegas, many=True)
,但latest_tegas
在你的情况下只是一个对象。
问题是以下行:
latest_tegas = Tega.objects.filter(driver_profile=driversprofiles).latest(field_name='start_time')
many=True
表示您将多个对象传递给序列化程序。
从文档中latest()
:
根据给定字段返回表中的最新对象。
推荐阅读
- javascript - React 本机内置 qrcode 生成器不起作用
- reactjs - 如何在reacjs中获取类名?
- reactjs - 如何在 reactjs 应用程序中实现条码扫描器?
- reactjs - 反应路线:导航栏
- php - bigcommerce php silex hello world 安装错误
- python - 在 Python 中执行 SVM 时出现值错误
- go - go run ./path/dir 和 go run path/dir 之间的区别
- node.js - Angular 应用程序的引导过程是什么?app.component.htm 何时加载并显示?
- angular - 使用路由器传递数据
- c++ - 如何使用 Qpainter 在 Qt 中绘制棋盘