Python 页面加载时间慢
我有一个通过RESTfulPython 页面加载时间慢,python,json,django,rest,Python,Json,Django,Rest,我有一个通过RESTfulAPI调用数据库填充的表。对于一个特定的表列,通过从主API调用中引用ID,然后使用所述ID作为第二个API调用的参数来提取其数据。但是,表中可能有1000行或更多行数据,因此遍历所有这些行并执行第二个API调用会导致页面加载时间非常慢(最多40秒)。我有没有办法处理这个问题?我可以限制每个查询返回的记录数,但理想情况下我会包括所有可用的记录。如果需要其他信息,请告诉我 views.py cw_presales_engineers = [] for opportuni
API
调用数据库填充的表。对于一个特定的表列,通过从主API
调用中引用ID
,然后使用所述ID
作为第二个API
调用的参数来提取其数据。但是,表中可能有1000行或更多行数据,因此遍历所有这些行并执行第二个API
调用会导致页面加载时间非常慢(最多40秒)。我有没有办法处理这个问题?我可以限制每个查询返回的记录数,但理想情况下我会包括所有可用的记录。如果需要其他信息,请告诉我
views.py
cw_presales_engineers = []
for opportunity in opportunities:
try:
opportunity_id = str(opportunity['id'])
presales_ticket = cwObj.get_tickets_by_opportunity(opportunity_id)
if presales_ticket:
try:
cw_engineer = presales_ticket[0]['owner']['name']
cw_presales_engineers.append(cw_engineer)
except:
pass
else:
cw_engineer = ''
cw_presales_engineers.append(cw_engineer)
except AttributeError:
cw_engineer = ''
connectwise_zip = zip(opportunities, cw_presales_engineers)
您是否能够创建一个可以在服务器端进行迭代的新API?您的API是否支持按ID过滤记录?如果是这样的话,这可以用来合并find请求。因此,您可以将它们组合到一个查询请求中,而不是执行
GET/posts/1
和GET/posts/2
。这将使您的问题减少到1+1,而不是1+n请求。1+1在大多数情况下都可以,因为我不熟悉xAPI,所以我还不确定@jelhan我可以过滤记录,但我正在引用opportunity['id']
从完全不同的位置提取记录。因此,每个API
调用的URL
是不同的…我是否仍然能够将查找请求合并到两个不同的位置?@garmars如果API支持按ID获取多个记录,则只能合并查找请求。这主要是通过在收集端点上进行过滤来实现的。如果您的API支持不同的机制,您可以自由地执行该操作。@jelhan我在两个不同的端点请求数据,那么有什么方法来处理这种情况吗?还是完全依赖于API?您是否有能力创建一个可以在服务器端进行迭代的新API?您的API是否支持按ID过滤记录?如果是这样的话,这可以用来合并find请求。因此,您可以将它们组合到一个查询请求中,而不是执行GET/posts/1
和GET/posts/2
。这将使您的问题减少到1+1,而不是1+n请求。1+1在大多数情况下都可以,因为我不熟悉xAPI,所以我还不确定@jelhan我可以过滤记录,但我正在引用opportunity['id']
从完全不同的位置提取记录。因此,每个API
调用的URL
是不同的…我是否仍然能够将查找请求合并到两个不同的位置?@garmars如果API支持按ID获取多个记录,则只能合并查找请求。这主要是通过在收集端点上进行过滤来实现的。如果您的API支持不同的机制,您可以自由地执行该操作。@jelhan我在两个不同的端点请求数据,那么有什么方法来处理这种情况吗?还是完全取决于API?