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
是模型实例,created
是 boolean
标志,它告诉我们对象是否已创建。
所以通过这样获取第一个索引
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/