Я использую 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 ("$$$$$$$$$$$$$$$$$$$")