你利用了
Concat
[Django-doc]
功能:
from django.db.models import F, Value
from django.db.models.functions import Concat
MyModel.objects.update(group_id=Concat(Value('#'), F('pk')))
这将生成一个如下所示的查询:
UPDATE app_mymodel
SET group_id = CONCAT_WS('', '#', app_mymodel.pk)
(在本地,我得到了这个查询,但是它可以依赖于后端,等等。)
这个
_WS
这里的意思是“with separator”,但是由于separator是空的,所以与“simple”concat没有区别。
当然要注意
group_id
这里应该有一个类型(可能
CharField
可以接受用此表达式生成的值)。