eve框架中的Get请求只返回一项

2024-05-14 11:05:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的应用程序使用EVE框架。数据库是MongoDB。数据库中有司机、车辆、供应商等表。在插入车辆时,我还包括驾驶员id和供应商id

现在,在获取供应商ID的请求(例如供应商的http://127.0.0.1:5000/vendor/(phone_number)中,我希望列出属于供应商的车辆和相关的驾驶员详细信息,即使供应商表没有此类详细信息。我使用以下方法从车辆和驾驶员表中获取:

app.on_获取的_项目_供应商+=列表_供应商_车辆

我在下面列出了功能列表\供应商\车辆的代码:

我在Postman中检查GET请求API。我确实了解了详细信息,但仅了解一名驾驶员和他的车辆,即使供应商有多辆车

您可以看到,我已经为响应添加了打印语句,在其中,我可以看到一个接一个列出的所有驱动程序

尝试连接它们,不幸的是,它不起作用

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 ("$$$$$$$$$$$$$$$$$$$")

Tags: id数据库app列表dataresponsedriver详细信息

热门问题