我在这个方法中遇到问题,当我尝试从另一个文件中调用它时它完全保存在数据库中并且值被更新(这些点被添加到承包商)但我不明白我怎么称呼它在另一个文件中(除了第一个文件之外)它只保存方法中的值,但是一旦它超出方法,则值不被保存,它返回(通过打印检查)
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()
答案 0 :(得分:1)
不清楚你在问什么,但听起来你正在从数据库中读回一个缓存的值。在django querysets are lazy中,这意味着您可能没有看到数据库中的最新更新值,这是正常的。
答案 1 :(得分:0)
你可以传递方法另一个参数
def add_points_cont(contractor=None , action_name):
您将承包商传递给方法