Ошибка типа: объект 'Tega' не повторяется - PullRequest
0 голосов
/ 25 сентября 2019

Вот мой код в 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")

Я пытаюсь получить фильтр и получить все последние теги для каждого соответствующего драйвера в check_all_columns QuerySet.

1 Ответ

1 голос
/ 25 сентября 2019

У вас есть TegaSerializer(latest_tegas, many=True), но latest_tegas в вашем случае это просто один объект.

Проблема в следующей строке:

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

many=True означает, что вы передаетенесколько объектов в сериализаторе.

Из документов для latest():

Возвращает последний объект в таблице на основе заданных полей.

...