我想在某些视图中使用get_or_create,我想知道它是制成还是找到?
其中一行如下:
source,p = Source.objects.get_or_create(name="Website")
答案 0 :(得分:3)
您可以看看get_or_create()
。官方文档中的示例;
obj, created = Person.objects.get_or_create(
first_name='John',
last_name='Lennon',
defaults={'birthday': date(1940, 10, 9)},
)
如果找到对象,则get_or_create()返回该对象的元组和False。
然后检查created
变量;
In [15]: created
Out[15]: False
# so, `get_or_create()` didn't create an object.
答案 1 :(得分:1)
get_or_create总是返回元组。 第一个值是对象 第二个是Boolean,如果第二个值为True,则表示对象已创建,否则对象已存在。