【发布时间】: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