Получить запрос в Eve Framework просто возвращает один элемент - PullRequest
0 голосов
/ 01 октября 2019

Я использую EVE Framework для моего приложения. База данных MongoDB. В базе данных есть таблицы типа водителей, транспортных средств, поставщиков. При добавлении транспортных средств я также включаю в него driver_id и vendor_id.

Теперь, в GET-запросе идентификатора поставщика, скажем http://127.0.0.1:5000/vendor/(phone_number поставщика), я хочу, чтобы транспортные средства принадлежали поставщику исоответствующие детали драйвера должны быть перечислены, хотя в таблице поставщиков, в частности, нет таких деталей. Я извлекаю его из таблицы транспортных средств и водителя, используя это:

app.on_fetched_item_vendor + = list_vendor_vehicles

Я перечислил код для функции list_vendor_vehicles ниже:

Я проверяю запрос GETAPI в Почтальоне. Я получаю подробности, но только об одном водителе и его транспортном средстве, хотя у поставщика есть несколько транспортных средств.

Вы можете видеть, что я включил заявление для печати в ответ, и в нем я могу видетьвсе драйверы перечислены один за другим.

Пробовал объединять их, к сожалению, это не работает.

def list_vendor_vehicles(response):

    vehicles = app.data.pymongo().db.vehicle.find({'vendor':response['_id']})
    for vehicle in vehicles:
        drivers = app.data.pymongo().db.driver.find({'_id':vehicle['driver']})
        for driver in drivers:
            v = vehicle.copy()
            v.update(driver)
            response['vehicle_regNumber'] = v['regNumber']
            response['driver_phoneNumber'] = v['phoneNumber']
            print ("$$$$$$$$$$$$$$$$$$$")
            print ("$$$$$$$$$$$$$$$$$$$")
            print (response)
            print ("$$$$$$$$$$$$$$$$$$$")
            print ("$$$$$$$$$$$$$$$$$$$")
...