querySet python中的更改值
有一个db,它有两个值,应该是唯一的,为了修复这个bug,应该有一个脚本。我试过类似的东西 从fares.models导入fares类别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() 但查询集
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