Django中的get_or_create函数如何返回两个值?
我在Django中使用了get_or_create
这个函数。这个函数会返回两个值。一个是对象本身,另一个是一个布尔值,用来表示是找到了一个已有的对象,还是新创建了一个对象。
通常来说,一个函数可以返回一个单独的值,或者返回一组值,比如tuple
(元组)、list
(列表)或者字典。
像get_or_create
这样的函数是怎么返回两个值的呢?
3 个回答
4
使用元组和元组解包通常被认为是一种非常“Python风格”的方法,可以用来返回多个值。
6
它返回的是一个元组。听起来你知道函数可以这样做,只是不知道你可以把结果直接赋值给两个变量!
可以查看Django的文档,了解一下 get_or_create
:
# Returns a tuple of (object, created), where object is the retrieved
# or created object and created is a boolean specifying whether a new
# object was created.
obj, created = Person.objects.get_or_create(first_name='John', last_name='Lennon',
defaults={'birthday': date(1940, 10, 9)})