Django - 记录似乎消失了?

时间:2013-04-11 04:10:14

标签: django

我有一个相当复杂的逻辑,正如我刚刚发现的那样,导致记录消失。我会尝试布置代码的逻辑......

  • 我们的数据库中有大约1,000个客户
  • 每年一次,我们会按顺序发送两封信(第一封必须先出去,然后是第二张,大约一个月后)
  • 为了让我们能够发送信件,需要在每个客户的信息上检查一组约30个检查和平衡。例如,“我们是否有客户X的记录”,“我们是否有关于客户Y的信息”。在我们发送信件之前,我们需要提供一系列信息。
  • 对于缺少信息的客户,我创建了一个“暂存区”,其中显示了缺少信息的客户列表以及缺少的信息。
  • 客户将所有信息(即:我们可以发送第一个字母)进入“准备第一封信”区域
  • 在任何时候,我们可能会丢失一些信息,这些信息应该导致客户离开“Ready for First Letter”区域并返回“暂存区”。
  • 用户应纠正这种情况(添加缺失的信息),让客户重新回到“为第一封信准备”区域
  • 发送第一个字母后,客户端将转到“准备第二个字母”区域。同样,如果我们在任何时候丢失了一些信息,客户应该弹出“准备第二个字母”区域并返回到临时区域。

我发现正在发生的事情是客户将进入“Ready for First Letter”区域,然后我们将丢失一些信息。客户应该转移到“Stagin区域”。然而,记录简单消失了!它似乎被删除了,我在代码中的任何地方都找不到关键字delete。我有点困惑为什么会发生这种情况。

我知道很难在没有发布代码的情况下制作任何类型的“你在那里做错了”的评论类型,但我真的不知道要发布什么,因为有很多代码可以实现这一切发生了(我总结了很多正在发生的事情)。

我想我想知道是否存在Django删除记录或删除记录的情况。这会发生吗?如果是这样似乎很疯狂......

由于

*编辑* 部分见解:

我想我已经找到了神秘的地方。我一直在测试一些特定的信息,方法是从客户端的记录中删除它,看看客户端是否确实返回了暂存区域。当我删除此特定信息时,客户端的记录也会消失。这是我的代码(不是复制和粘贴,只是重写的想法):

c = client.objects.get(pk=1)
tmp = c.specificInfo
tmp.delete()
c.specificInfo = None
c.save()

我应该指出c.specificInfo是外键。所以,大概我正在为tmp分配一个不同的记录,然后删除该项目。这样做会产生消除client的副作用。

很混乱......

0 个答案:

没有答案