我使用 Django,我想通过使用 SQL 中的计算来更新模型的许多记录,如下所示:
UPDATE table SET amount = pre_tax * 1.2 WHERE amount IS NULL;
Run Code Online (Sandbox Code Playgroud)
我想用 Django ORM 来做到这一点。我没有找到任何方法可以做到这一点。
这个答案Django - Update model field based on another field不使用批量更新,我需要一种允许更新多条记录的语法。
您可以使用F表达式并.update()一次更新多个记录。该F表达式允许您引用行中的现有值
Model.objects.filter(amount__isnull=True).update(amount=F('pre_tax') * 1.2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |