Django:更新列(动态选择列名)值

Django : Update column (pick column name dynamically) value

我想通过过滤数据并选择特定行来更新 table 字段,在下面的查询中“address1”是用户 table 的字段,需要用可用值更新在变量地址中:

User.objects.filter(user_id=uid).update(address1=addr)

上面的查询工作正常,因为我在更新选项中给出了列名 ="address1"。

但我的要求是我希望更新字段是动态的,即它可以是地址 1、地址 2、地址 3(这存储在一个变量中)假设它存储在 add_field 变量中,那么我可以'不要在下面使用,因为它会尝试在用户 table 中找到那里不存在的 add_field 列:

User.objects.filter(user_id=uid).update(add_field=addr)

查询: 如何通过 variable/dynamically 传递字段名称以更新提到的代码行中的选项或通过任何其他选项。

您可以解压一个充满关键字参数的字典,如下所示:

User.objects.filter(user_id=uid).update(**{add_field:addr})