Python Django如何正确测试查询集是否返回结果

大通罗伯茨

我没有接受过非常全面的python培训,有时不知道正确的做事方式。这些事情之一是测试我的resultQuery是否返回结果。我发现自己经常这样做:

    try:
        user = User.objects.get(email=email)
    except DoesNotExist:
        user = User()

我不了解python,但是尝试使用其他语言的catch应该是针对异常的,而不是针对正常程序流的。如果不这样做,您将如何处理?我想我想要类似的东西:

if request.GET.get('email','') is not None:
    email = request.GET['email'])
ro

异常示例通常是首选的处理方式。维基百科对此有一个很好的描述:

Python样式要求在可能出现错误情况时使用异常。在Python中,常规做法是继续尝试并使用它,而不是在实际使用文件或资源之前先测试对文件或资源的访问,如果访问被拒绝,则会捕获异常。

异常通常用作if块(...)的替代方法。经常被人称为“ EAFP”的座右铭是“寻求宽恕比获得许可更容易”。

在Python中,异常不一定会造成高昂的代价。再次引用Wikipedia示例:

if hasattr(spam, 'eggs'):
    ham = spam.eggs
else:
    handle_error()

... 与:

try:
    ham = spam.eggs
except AttributeError:
    handle_error()

尽管会有性能差异,但这两个代码示例具有相同的效果。当垃圾邮件具有“鸡蛋”属性时,EAFP示例将运行得更快。如果垃圾邮件没有鸡蛋属性(“例外”情况),则EAFP示例运行速度会变慢。

专门针对Django,我将使用异常示例。这是在该框架中执行操作的标准方法,遵循标准绝不是一件坏事:)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Django如何正确测试查询集是否返回结果

来自分类Dev

如何在Django / Python中加入ManyToMany查询集

来自分类Dev

如何在Django / Python中加入ManyToMany查询集

来自分类Dev

测试网格是否为反对称的函数的结果不正确 python

来自分类Dev

Python函数返回正确的结果,但解释器返回奇怪的错误

来自分类Dev

numpy返回指数的nans。纯Python返回正确结果

来自分类Dev

Python函数返回正确的结果,但解释器返回奇怪的错误

来自分类常见问题

Python / Django:如何断言单元测试结果包含某个字符串?

来自分类Dev

Python数据库API v2>如果在迭代过程中执行的查询未返回任何结果,则对结果集的迭代将停止

来自分类Dev

如何在Django和Python的单元测试中正确模拟大型XML?

来自分类Dev

在Java中返回查询结果集的正确方法

来自分类Dev

在Java中返回查询结果集的正确方法

来自分类Dev

如何获取python unittest来测试函数是否返回csv.reader对象?

来自分类Dev

如何获取python unittest来测试函数是否返回csv.reader对象?

来自分类Dev

如何在python中遍历查询结果?

来自分类Dev

如何在python中返回ADD AND的结果?

来自分类Dev

如何使用python返回for循环计数的结果?

来自分类Dev

Python的hasattr有时返回不正确的结果

来自分类Dev

Python findall即使在假定正确的匹配下也不会返回结果

来自分类Dev

检查data.table查询是否返回空结果集

来自分类Dev

返回SQLAlchemy查询结果时的Python Flask类型错误

来自分类Dev

Python脚本中的JOIN查询返回的行数不正确

来自分类Dev

是否可以在python中过滤DynamoDB查询结果?

来自分类Dev

python:对齐查询结果

来自分类Dev

如何使用python查询SQlite,然后比较查询结果?

来自分类Dev

通过ForeignKey的Django filter()返回不正确的查询集

来自分类Dev

基于缺少反向关系的Python过滤Django查询集

来自分类Dev

Django / Python:两次过滤查询集

来自分类Dev

python中的django自定义查询结果

Related 相关文章

  1. 1

    Python Django如何正确测试查询集是否返回结果

  2. 2

    如何在Django / Python中加入ManyToMany查询集

  3. 3

    如何在Django / Python中加入ManyToMany查询集

  4. 4

    测试网格是否为反对称的函数的结果不正确 python

  5. 5

    Python函数返回正确的结果,但解释器返回奇怪的错误

  6. 6

    numpy返回指数的nans。纯Python返回正确结果

  7. 7

    Python函数返回正确的结果,但解释器返回奇怪的错误

  8. 8

    Python / Django:如何断言单元测试结果包含某个字符串?

  9. 9

    Python数据库API v2>如果在迭代过程中执行的查询未返回任何结果,则对结果集的迭代将停止

  10. 10

    如何在Django和Python的单元测试中正确模拟大型XML?

  11. 11

    在Java中返回查询结果集的正确方法

  12. 12

    在Java中返回查询结果集的正确方法

  13. 13

    如何获取python unittest来测试函数是否返回csv.reader对象?

  14. 14

    如何获取python unittest来测试函数是否返回csv.reader对象?

  15. 15

    如何在python中遍历查询结果?

  16. 16

    如何在python中返回ADD AND的结果?

  17. 17

    如何使用python返回for循环计数的结果?

  18. 18

    Python的hasattr有时返回不正确的结果

  19. 19

    Python findall即使在假定正确的匹配下也不会返回结果

  20. 20

    检查data.table查询是否返回空结果集

  21. 21

    返回SQLAlchemy查询结果时的Python Flask类型错误

  22. 22

    Python脚本中的JOIN查询返回的行数不正确

  23. 23

    是否可以在python中过滤DynamoDB查询结果?

  24. 24

    python:对齐查询结果

  25. 25

    如何使用python查询SQlite,然后比较查询结果?

  26. 26

    通过ForeignKey的Django filter()返回不正确的查询集

  27. 27

    基于缺少反向关系的Python过滤Django查询集

  28. 28

    Django / Python:两次过滤查询集

  29. 29

    python中的django自定义查询结果

热门标签

归档