所以这不一定是一个 Django 问题,我只是在思考逻辑方面有一个心理障碍,但我想 Django 可能会提供一些手动锁定记录的方法,这会很有帮助。
本质上,用户可以一次上传一个或多个文件。每个文件都通过单独的请求上传。当用户超过 90% 的存储配额时,我想向他们发送一封电子邮件,通知他们,但我只想发送一封电子邮件。所以我目前的工作流程是检查他们的使用情况,确保他们还没有收到提醒,并且:
if usage_pct >= settings.VDISK_HIGH_USAGE_THRESHOLD and disk.last_high_usage_reminder is None:
disk.last_high_usage_reminder = timezone.now()
disk.save()
vdisks_high_usage_send_notice(user)
然而,上面的代码通常允许不止一封电子邮件通过。所以我的第一个想法是在检查值之前以某种方式锁定磁盘记录,然后在保存后解锁它。是否可能和/或可取,或者有更好的方法吗?