get_list_or_404(klass, *args, **kwargs)和get_object_or_404(klass, *args, **kwargs)区别

get_object_or_404() 是通过调用get()方法从model管理器上获取数据,

如果对象不存在,它会报Http404的异常,而不是model的 DoseNotExist异常。

get_list_or_404() 则是返回          model管理器的filter()方法后,转化成List后的结果

如果这个结果(换句话说这个列表)  是空的,它会报Http404的异常

时间: 2024-10-13 11:25:09

get_list_or_404(klass, *args, **kwargs)和get_object_or_404(klass, *args, **kwargs)区别的相关文章

Django 1.6 CBVs

Django 1.6 最佳实践: 如何正确使用 CBVs (Class-based views) Class-based views是Django为解决建站过程中的常见的呈现模式而建立的. 在这节中, 我们着重讲一下CBVs的使用技巧和一般原则. 1. CBVs的使用原则 代码越少越好 永远不要重复代码 View应当只包含呈现逻辑, 不应包括业务逻辑 保持view逻辑清晰简单 不要将CBVs用作403, 404, 500的错误处理程序 保持mixin简单明了 2. 如何使用mixin 在编程中m

Django admin 的 9 个技巧

Tip 1:Django admin 后台不限于用 Django 开发的网站 虽然 Django admin 管理界面可以非常友好的用在 Django 项目的其它部分,它同样可以很容易用于其它像传统的数据库或具有一个可怕的的管理界面的网站.而且这也是评估 Django 是否会满足您的需求的最佳途径. 你需要做的仅是: 在你的 Django 项目中建立一个新的应用,并确保你已经连接好传统数据库 ,通过 settings.py 文件中的 DATABASES 的设置. 将你的数据表定义为 Django

Django RedirectView

RedirectView作用是重定向一个指定,给定的Url.这个给定的Url可能包含有字典风格的字符串,因为关键字(词)会被改变,所以从这个Url中捕获的参数可能也会被修改,例如,Url中的“%”应该写成“%%”这样python才会将其修改成“%”. 如果指定的Url是None,那么会触发:HttpResponseGone (410) 处理流程:1.dispatch()2.http_method_not_allowed()3.get_redirect_url() 官例: #views.py fr

python 中*args 和 **kwargs

简单的可以理解为python 中给函数传递的可变参数,args 是 列表的形式.kwargs 是 key,value的形式,也就是python 中的字典. *args 必须出现在**kwargs 的前边,否则会抛异常. 1 def test(*args, **kwargs): 2 print args 3 print kwargs 1 if __name__ == '__main__': 2 print '---test 1---' 3 test(1, 2, 3) 4 print '---tes

python/*args和**kwargs

*args和**kwargs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #coding=utf8 __author__ = 'Administrator' # 当函数的参数不确定时,

*args和**kwargs

先来看个例子: ef foo(*args, **kwargs): print 'args = ', args print 'kwargs = ', kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1,b=2,c=3) foo('a', 1, None, a=1, b='2', c=3) 输出结

(转)Python中的*args和**kwargs

本文转自:http://kodango.com/variable-arguments-in-python 作者:团子的小窝 Python是支持可变参数的,最简单的方法莫过于使用默认参数,例如: def test_defargs(one, two = 2): print 'Required argument: ', one print 'Optional argument: ', two test_defargs(1) # result: # Required argument: 1 # Opti

python args & kwargs

Today,We will talk some about the argument and arguments ... #!/usr/bin/python def fun(*args): for value in args: print value if __name__ == '__main__': fun(11,22,33,44,55) What is type of (*args) ? Do you really want to know ,just keep read ... #!/u

Python中*args和**kwargs 的简单使用

# 在函数定义中使用*args和kwargs传递可变长参数. *args用作传递非命名键值可变长参数列表(位置参数); kwargs用作传递键值可变长参数列表# *args表示任何多个无名参数,它是一个tuple# **kwargs表示关键字参数,它是一个dict # 注:同时使用*args和**kwargs时,*args参数列必须要在**kwargs前 # eg _v1 def func(f,*args): print ("formal arg:",f) for f in args: