如果其他特定列与变量匹配,则更新数据库列

时间:2018-11-27 23:22:13

标签: python django

我正在为django服务器创建脚本,如果myVariable中的数据与存储在名为TaskStatus的其他列中的数据相匹配,则该脚本将更新名为TaskID的数据库列。

My example

类似循环的东西,每一行都更新一次。

if myVariable and TaskID matches 
    Update TaskStatus with mySecondVariable

我知道Django具有exist()函数,因此我认为应该将其合并到脚本中。

2 个答案:

答案 0 :(得分:2)

您可以尝试这样:

Task.objects.filter(TaskID=myVariable).update(TaskStatus=mySecondVariable)

有关更多详细信息,请参见documentation

此外,如果您是在外部脚本(不与您的项目文件关联)中编写此行,请确保按以下方式运行它:

python manage.py shell < your_script.py

答案 1 :(得分:1)

如果要循环,则应该是这样的:

for row in TableName.objects.all():
    if myVariable == row.TaskID:
        row.TaskStatus = mySecondVariable
        row.save()

如果您认为不需要循环,则类似于:

TableName.objects.filter(TaskID=myVariable).update(TaskStatus=mySecondVariable)