Html 奇怪的表单缓存行为

Html 奇怪的表单缓存行为,html,django,forms,Html,Django,Forms,我对我们在www.muchbettradventures.com/ski/inquire上看到的一个bug有点不知所措/ (还有,在哪里寻求帮助?这里合适吗?) 发生的事情是 大约有1%的时间有人填写表单并点击提交,一些提交的字段内容会被另一台机器上的另一个人以前提交的条目所替换(大部分是大文本区域——或者至少,这是最容易发现的,因为很难准确复制其他人的条目) 在调试过程中,我通过Raven/Sentry在表单到达服务器之前在前端记录表单内容,在进一步处理之前在后端记录表单内容。这两个文件始终显

我对我们在www.muchbettradventures.com/ski/inquire上看到的一个bug有点不知所措/

(还有,在哪里寻求帮助?这里合适吗?)

发生的事情是

大约有1%的时间有人填写表单并点击提交,一些提交的字段内容会被另一台机器上的另一个人以前提交的条目所替换(大部分是大文本区域——或者至少,这是最容易发现的,因为很难准确复制其他人的条目)

在调试过程中,我通过Raven/Sentry在表单到达服务器之前在前端记录表单内容,在进一步处理之前在后端记录表单内容。这两个文件始终显示由底层进程实际保存到数据库的相同内容,例如重复的内容

我们从一些用户的角度询问了他们发生了什么,他们告诉我们,他们用自己的内容填写了一张空白表格。他们在任何时候都没有看到别人满足

会发生什么?我所能想到的就是下游某个地方的缓存

任何帮助都将不胜感激

听起来像是:

  • 比赛条件
    • 您是否在数据实际保存到数据库之前预生成对象的主键?如果是这样,您可能会遇到PK冲突,两个表单帖子最终会更新同一数据库行
  • 非线程安全代码
    • 您是否部署在线程化环境中?如果是这样,您的视图是否构建在线程安全的庄园中?Django基于类的视图是线程安全的,但如果您有其他驱动视图机制(第三方库等),则可能是线程问题

视图正在准确地保存发送的内容-记录表单内容预提交(通过javascript)和后提交(post视图方法的第一个操作是记录)显示了这一点。客户正在发布重复数据。有时表单预先填充了会话数据-因此,如果会话有冲突或被劫持的可能(如果我们忽略用户说他们填写了表单…)