在查询集之后为结果添加额外的字段以进行上下文渲染

Add extra field to result after queryset for context rendering

目前我想做这样的事情:

entity_info = get_object_or_404(Entity, pk=entity_id)
entity_info.review = 5

我可以添加字段并传递给渲染,它工作正常。但是,现在我想一次添加很多字段,最好与字典合并。像这样:

entity_info.update(new_dict)

我可以知道怎么做吗?谢谢

您可以遍历字典的项目,并使用 setattr

entity_info = get_object_or_404(Entity, pk=entity_id)
for key, value in new_dict.items():
    setattr(entity_info, key, value)

这应该适用于属性。如果您要分配给多对多字段,您可能需要做其他事情。