我想做一个 sql 查询来更新 Django 站点中的许多模型。我想更改一个字符列/字段以基于 id 和一些文本,在 MySQL(这个站点就是)中,我会这样做"UPDATE table SET blah = 'prefix'||id||'suffix'"
.
我在 Django 中的第一次尝试是:
Model.objects.update(blah='prefix'+F('id')+'suffix')
但这试图给MySQL一个+
, not a ||
操作员。
我的下一次尝试是使用.extra(…)
像这样:
Model.objects.extra(select={'newvalue':'"prefix"||id||"suffix"'}).update(blah=F('new_value'))
But the F(…)
无法从选择中看到新字段。
有没有办法在不分解为原始 SQL 的情况下做到这一点?
没有。 Django 的 ORM 兼容多数据库。它不附带诸如此之类的自定义数据库功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)