【问题标题】:Django models update calculated field according another fieldDjango模型根据另一个字段更新计算字段
【发布时间】:2020-08-08 16:18:26
【问题描述】:

我使用 Django,我想通过使用类似 SQL 中的计算来更新我的模型的许多记录:

UPDATE table SET amount = pre_tax * 1.2 WHERE amount IS NULL;

我想用 Django ORM 做到这一点。我没有找到任何方法来做到这一点。

这个答案Django - Update model field based on another field不要使用批量更新,我需要一种允许更新多条记录的语法。

【问题讨论】:

    标签: python django


    【解决方案1】:

    您可以使用F expression.update() to update multiple records at onceF 表达式允许您引用行中的现有值

    Model.objects.filter(amount__isnull=True).update(amount=F('pre_tax') * 1.2)
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多