我有一个表名服务表,它有一些字段。字段有天的名称,如星期日、星期一、星期二等。。我想把postgres数据库表中的所有列值改成小写。
例如
“Sunday”更新为“Sunday”
我被问到了
update service_table set days=lower(days);
但它显示
提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。
注意:这个表有一些外键。
最佳答案
你可以在Django shell做这个
from django.db.models import F
from django.db.models.functions import Lower
service_table.objects.update(days=Lower(F('days'))
Django
update()
是用于直接更新的批量操作。Django
F()
使引用模型字段值和使用它们执行数据库操作成为可能,而无需将它们从数据库中提取到Python内存中。F()
有助于提取模型字段值,然后处理到需求并使用update()
将其保存回来关于django - 将postgres中的列值更新为小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41296834/