简体   繁体   English

Django 模型根据另一个字段更新计算字段

[英]Django models update calculated field according another field

I use Django and I want update many records of my model by using a calculation like in SQL like that:我使用 Django,我想通过使用像 SQL 这样的计算来更新我的 model 的许多记录:

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

I want do that with Django ORM. I didn't find any ways to do that.我想用 Django ORM 做到这一点。我没有找到任何方法来做到这一点。

This answer Django - Update model field based on another field don't use bulk update, I need a syntax that allows updating several records.这个答案Django - 基于另一个字段更新 model 字段不使用批量更新,我需要一种允许更新多个记录的语法。

You can use an F expression and .update() to update multiple records at once .您可以使用F表达式.update()一次更新多条记录 The F expression allows you to reference an existing value in the row F表达式允许您引用行中的现有值

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM