首页 > 解决方案 > 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

标签: pythondjangodjango-querysetserialization

解决方案


你有TegaSerializer(latest_tegas, many=True),但latest_tegas在你的情况下只是一个对象。

问题是以下行:

latest_tegas = Tega.objects.filter(driver_profile=driversprofiles).latest(field_name='start_time')

many=True表示您将多个对象传递给序列化程序。

文档latest()

根据给定字段返回表中的最新对象。


推荐阅读