奇怪的形式缓存行为

时间:2014-08-29 16:12:57

标签: html django forms

我们在www.muchbetteradventures.com/ski/enquire /

上遇到了一个小小的损失

(并且,在哪里寻求帮助 - 这是合适的!?)

会发生什么......

大约有1%的时间有人填写表单并点击提交,一些提交的字段内容被另一台机器上不同的人先前提交的条目所取代(主要是大文本区域 - 或者至少,这个是最容易发现的,因为很难完全复制其他人的条目

在调试中,我在前端服务器上通过前端的Raven / Sentry记录表单内容,在进行任何进一步处理之前在后端记录表单内容。这两者总是显示由底层进程实际保存到DB的相同内容 - 例如重复的内容。

我们已经向一些用户询问了他们从他们的观点发生了什么,他们告诉我们他们填写了一张带有自己内容的空白表格。并且他们在任何时候都没有看到别人的内容。

可能会发生什么?在某处我可以想到下游缓存。

任何帮助将不胜感激..!

1 个答案:

答案 0 :(得分:0)

听起来像是其中之一:

  • 比赛条件
    • 您是否在数据实际保存在数据库中之前预先生成了对象的主键?如果是这样,您可能会遇到PK冲突,并且两个表单POST最终会更新同一个数据库行。
  • 非线程安全代码
    • 您是否部署在线程环境中?如果您的观点是以线程安全的庄园建造的? Django的基于类的视图是开箱即用的线程安全的,但如果你有其他东西驱动查看机器(第三方库等),它可能是一个线程问题。