【问题标题】:Sometimes it saves sometimes not in Django有时它有时会在 Django 中不保存
【发布时间】:2012-05-29 16:33:04
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      def add_points_cont(contractor=None , action_name):

      您将承包商传递给方法

      【讨论】:

      • 您的意思是从传递 ID 更改为传递 Contractor 对象,我相信? (你的答案很难理解。)
      • 我将方法传递给了承包商对象本身并且它起作用了!!谢谢:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      相关资源
      最近更新 更多