gpt4 book ai didi

python - 为什么我们在django的model_name.object.get_or_create()中的get_or_create之后写[0]

转载 作者:行者123 更新时间:2023-12-04 02:35:37 25 4
gpt4 key购买 nike

Faker 脚本中的一个函数,用于在我的模型部门添加数据。
部门 = ['I.T.','C.S.E','M.E.','E.C.']
def add_dept():
d = Department.objects.get_or_create(dept_name=random.choice(depatment))[0]

最佳答案

get_or_create() 是一个查询集方法,它返回一个元组 (d, created)。其中 d 是模型实例,createdboolean 标志,它告诉我们对象是否已创建。

所以通过这样获取第一个索引

Department.objects.get_or_create(dept_name=random.choice(depatment))[0]

你实际上在做 (d, created)[0] 总是返回对象。更好的方法是使用下划线 (_) 忽略创建的标志,如下所示:

d, _ = Department.objects.get_or_create(dept_name=random.choice(depatment))

引用:https://docs.djangoproject.com/en/3.0/ref/models/querysets/#get-or-create

关于python - 为什么我们在django的model_name.object.get_or_create()中的get_or_create之后写[0],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62091767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com