检查 App Engine 数据存储区中是否存在记录

发布于 2024-10-31 16:27:02 字数 293 浏览 2 评论 0原文

根据我所读到的内容,这就是我应该检查任何记录的方式...

    v = PC_Applications.all().filter('column =', value)
if not v:
    return False

但这会返回错误!

索引错误:查询返回的结果少于 1 个

有这样做的想法吗?我读到 .count() 是一个糟糕的选择。我是 Python 和 App Engine 的新手,感谢您的耐心等待!

From what I've read, this is how I should check for any records...

    v = PC_Applications.all().filter('column =', value)
if not v:
    return False

But this returns an error!

IndexError: The query returned fewer than 1 results

Any ideas to doing this? I've read that .count() is a bad option. I'm new to Python and App Engine so thank you for any patience!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

萌能量女王 2024-11-07 16:27:02
if not v.get():

来自 App Engine,查询类 get()

执行查询,然后返回
第一个结果,如果查询则为 None
没有返回任何结果。

if not v.get():

From App Engine, Query Class get()

Executes the query, then returns the
first result, or None if the query
returned no results.

谈情不如逗狗 2024-11-07 16:27:02

这应该有效:

q = db.Query(PC_Applications, keys_only = True)
if not q.get():
    return false

我认为 .all().filter('column =', value).count 更糟糕,因为它不执行仅键查询。

This should work:

q = db.Query(PC_Applications, keys_only = True)
if not q.get():
    return false

I think .all().filter('column =', value) is even worse than .count, because it's not doing a keys-only query.

跨年 2024-11-07 16:27:02

如果您确实想使用这些记录,请执行以下操作:

results = PC_Applications.all().filter('column =', value).fetch(how_many_you_want)
if results:
    do_something_to_display_them()
else:
    do_something_else()

If you actually want to use the records, do something like:

results = PC_Applications.all().filter('column =', value).fetch(how_many_you_want)
if results:
    do_something_to_display_them()
else:
    do_something_else()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文