【问题标题】:(django) .update() not working inside class model(django) .update() 在类模型中不起作用
【发布时间】:2021-01-18 08:16:00
【问题描述】:

我有以下代码,但 remove_user_invite() 中的 .update() 不起作用,并且没有抛出任何错误。有谁知道出了什么问题或我该如何解决?非常感谢!

models.py

class StaffProfile(Profile):

    user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, db_index=True, related_name="staff_profiles", on_delete=models.SET_NULL)

    objects = CustomStaffProfileManager()

    def remove_user_invite(self):
        invites = StaffUserInvite.objects.filter(staff_profile=self, used_at=None, expires_at__gt=timezone.now())
        invites.update(expires_at=timezone.now())

【问题讨论】:

  • 您确定invites 包含任何记录吗?
  • @AndreyMaslov - 是的,我就是这样知道它不起作用,因为当我检查管理员时,匹配记录“expires_at”字段没有改变
  • 在更新前添加 print(invites) 以确保它包含任何内容并且您的程序可以访问此代码)
  • @AndreyMaslov - 我真是个白痴!谢谢您的帮助!该函数的调用位于错误的位置,因此没有被调用。太感谢了!无论如何在这里将评论标记为答案?

标签: python django django-models model sql-update


【解决方案1】:

看起来您在 invites 中没有任何内容,或者您​​没有调用此函数。 在更新之前添加 print(invites) 以确保它包含任何内容并且您的程序可以访问此代码)

【讨论】:

  • 再次感谢您的帮助! :)
猜你喜欢
  • 2012-01-18
  • 1970-01-01
  • 2019-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 1970-01-01
相关资源
最近更新 更多