Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python +;中的Django queryset update()方式_Python_Django - Fatal编程技术网

Python +;中的Django queryset update()方式

Python +;中的Django queryset update()方式,python,django,Python,Django,我如何在Django queryset上调用update,它不写特定的值,而是修改已经存在的值,如下所示 Entry.objects.filter(pub_date__year=2010).update(count+=1) 如何实现这一点?您可以从文档中使用: for e in Entry.objects.filter(pub_date__year=2010): e.count+= 1 e.save() reporter=Reporters.objects.filter(na

我如何在Django queryset上调用update,它不写特定的值,而是修改已经存在的值,如下所示

Entry.objects.filter(pub_date__year=2010).update(count+=1)
如何实现这一点?

您可以从文档中使用:

for e in Entry.objects.filter(pub_date__year=2010):
    e.count+= 1
    e.save()
reporter=Reporters.objects.filter(name='Tintin')

reporter.update(stories\u filed=F('stories\u filed')+1)

试试这个:

from django.db.models import F
Entry.objects.filter(pub_date__year=2010).update(count=F('count') + 1)

谢谢,但是这个解决方案是显而易见的,我更愿意在更新时避免for循环。