gpt4 book ai didi

python - Python中从数组中选择一项的优化解决方案

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:16 24 4
gpt4 key购买 nike

我正在使用带有 Python 和 Jinja2 模板引擎的 Google App Engine 免费套餐。

我的任务是对所有 5000 个项目进行"is"或“否”投票。为此,我在索引页上使用以下查询。

{% extends "base.html" %}
{% block content %}
{% for item in items if not item.voted %}
//HTML goes here to display the item
{% break %}
{% endfor %}
{% endblock %}

我正在打破循环,因为我想在索引页面上随时只显示一项。该项目可以随机选择,但不得投票。这是一个非常未经优化/惰性的解决方案,在本地运行得很好,但在应用程序引擎服务器上这是一项昂贵的操作。投票一些项目后,我收到以下错误:

OverQuotaError: The API call datastore_v3.RunQuery() required more quota than is available.

有人可以提出更好的解决方案吗?我对使用 jinja2 模板引擎的知识非常有限,所以我无法找到一个便宜的解决方案。

最佳答案

有多种方法可以做到这一点。

  1. 为您的实体添加一个“随机”属性,然后查询 1 项(使用 limit=1),其中“RandomProp > randomValue”。这与 Jinja2 无关(因为 Jinja 只是一个模板引擎),应该在 Python 代码中完成,由 3 部分组成:修改模型以添加新的 prop,在保存实体时分配随机值对于新的属性,当想要显示数据时,对新属性进行过滤查询,其属性大于某个(另一个)随机值。

  2. 在某处保存实体 ID 列表,并随机选择一个并通过 key 从数据库获取。

关于python - Python中从数组中选择一项的优化解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202615/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com