有时它有时不会在Django中保存

时间:2012-05-23 06:35:21

标签: python django django-models django-views python-2.7

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

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()

2 个答案:

答案 0 :(得分:1)

不清楚你在问什么,但听起来你正在从数据库中读回一个缓存的值。在django querysets are lazy中,这意味着您可能没有看到数据库中的最新更新值,这是正常的。

答案 1 :(得分:0)

你可以传递方法另一个参数

def add_points_cont(contractor=None , action_name):

您将承包商传递给方法