首页 > 解决方案 > 如何将 django 查询集中所有对象的字段更改为一个值,但我不想保存它

问题描述

我有两个模型QuestionChoice.

在这里,我想更改 all 的值choice.vote to 0。但我不想更新它。

我知道我可以通过调用来更新字段query_set.update(field=value)

额外要求:

任何帮助将不胜感激。

updated_choice_list = []
for question in Question.objects.filter(some_condition):
    for choice in question.choice_set.all():
        choice.vote = 0 # I dont want to save the choice vote
        updated_choice_list.append(choice)

标签: pythondjangopython-3.xdjango-models

解决方案


根据您提供的详细信息,应该这样做。

choices = [c for c in Choice.objects.filter(question__some_filter=something).all()]
for c in choices:
    c.vote = 0

推荐阅读