0

当我尝试从另一个文件调用它时,我在这个方法中遇到问题,它完美地保存在数据库中并且值被更新(这些点被添加到承包商)但我不明白当我在另一个文件中调用它时如何(除了第一个)它只保存方法内的值,但是一旦它超出方法,值就没有保存它返回(通过打印检查)

def add_points_cont(contractor_id , action_name):
    contractor = Contractor.objects.get(id=contractor_id)
    action = Action.objects.get(name=action_name)
    toBeAdded = action.points
    totalPoints = contractor.points+toBeAdded
    contractor.points = totalPoints
    contractor.save()
4

2 回答 2

1

不清楚您在问什么,但听起来您正在从数据库中读回缓存值。在 django中,查询集是惰性的,这意味着您可能看不到数据库中最新更新的值,这是正常的。

于 2012-05-23T06:56:43.703 回答
0

您可以向该方法传递另一个参数

def add_points_cont(contractor=None , action_name):

您将承包商传递给方法

于 2012-05-23T06:51:01.683 回答