本文主要是介绍Django查询,修改对象 如何从数据库的queryset对象中提取值?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
方法
1.查
用filter查不到他不会报错,但是用get查不到他会报错
下边这个代码,就是根据labelfilerelative这个参数与数据库的datalabel参数匹配查找对应的值
item = TCMdatabase.objects.filter(datalabel='/media/1900001/label/cb4333f9-858e-11eb-813b-e86a6468dcd8.txt')
<QuerySet [<TCMdatabase: 1>]>
--------------------------------------------------------------------------------------item = TCMdatabase.objects.filter(datalabel='/media/1900001/label/cb4333f9-858e-11eb-813b-e86a6468dcd8.txt').values()
<QuerySet [{'datasetid': 1, 'datalabel': '/media/1900001/label/cb4333f9-858e-11eb-813b-e86a6468dcd8.txt', 'datatrain': '/media/1900001/train/cb435af4-858e-11eb-a959-e86a6468dcd8.txt', 'dataTeacher_id': 1}]>
--------------------------------------------------------------------------------------item = TCMdatabase.objects.filter(datalabel='/media/1900001/label/cb4333f9-858e-11eb-813b-e86a6468dcd8.txt').values()[0]
{'datasetid': 1, 'datalabel': '/media/1900001/label/cb4333f9-858e-11eb-813b-e86a6468dcd8.txt', 'datatrain': '/media/1900001/train/cb435af4-858e-11eb-a959-e86a6468dcd8.txt', 'dataTeacher_id': 1}
--------------------------------------------------------------------------------------item = TCMdatabase.objects.filter(datalabel=labelfilerelative).values()[0]
datasetid = item.get('datasetid')
item.get('datasetid')
1
完整代码是
datasetid = TCMdatabase.objects.filter(datatrain=trainfilerelative).values()[0].get('datasetid')
2. 修改
- 这个是根据teacher_id 查询已经有的数据库相关内容
- tea_data 就是你查到的那条数据的对象
- 对这条对象的postTime 字段进行添加数据,修改,记得保存 save()
location = teacher_id tea_data = Teacher.objects.get(id=teacher_id)tea_data.postTime = datetime.datetime.now()tea_data.save()
具体内容看我的笔记
这篇关于Django查询,修改对象 如何从数据库的queryset对象中提取值?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!