Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
querySet python中的更改值_Python_Database - Fatal编程技术网

querySet python中的更改值

querySet python中的更改值,python,database,Python,Database,有一个db,它有两个值,应该是唯一的,为了修复这个bug,应该有一个脚本。我试过类似的东西 从fares.models导入fares类别 from models import Fc for x in Fc.objects.all(): fc = Fc.objects.all().values_list('priority', flat=True) if x in fc: x.priority = max(fc) +1 x.save() 但查询集

有一个db,它有两个值,应该是唯一的,为了修复这个bug,应该有一个脚本。我试过类似的东西 从fares.models导入fares类别

from models import Fc
for x in Fc.objects.all():
    fc = Fc.objects.all().values_list('priority', flat=True)
    if x in fc:
        x.priority = max(fc) +1 
        x.save()
但查询集没有插入函数。修复它的最佳方法是什么?

试试这个:

fc = Fc.objects.all().values_list('operator_priority', flat=True)
seen_values = set()
new_list = []
for x in fc:
   if x not in seen_values:
       new_list.append(fc)
       seen_values.add(fc)
或者也可以试试这个:

fc = Fc.objects.all().values_list('operator_priority', flat=True)
new_dict = dict()
for obj in fc:
   if obj not in new_dict:
       new_dict[obj] = obj

问题是,我需要用新的最大值替换相同的obj,然后添加此行z=max(fc)+1,并将new_dict[obj]=obj更改为new_dict[obj]=z