django怎么更新字段等于字段本身再拼接一个字符串

就目前的文档(官方链接)来看,用F这个东西,可以让数字类型字段自增

T_SYS_LogEntity.objects.filter(status=12).update(value=F('value') + 1)

但是我想做的是类似这样,把某个字段等于原本的值加上一个字符串

T_SYS_LogEntity.objects.filter(status=12).update(userName=F('userName') + '2号')

就文档来看,F这东西只能用于运算,不能用于拼接。

咋办好呢?只能写原生?

阅读 5.9k
1 个回答

可以使用concat

from django.db.models.functions import Concat
from django.db.models import Value

MyModel.objects.filter(**kwargs).update(my_field=Concat('my_other_field', Value('a string'))

来源: https://stackoverflow.com/que...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题