代码之家  ›  专栏  ›  技术社区  ›  Ankit Jaiswal

Django谷歌应用引擎参考问题

  •  1
  • Ankit Jaiswal  · 技术社区  · 14 年前

    我正在Django和google应用引擎上开发一个应用程序。在我的应用程序中,我有几个带有几个ReferenceProperty字段的模型。问题是,如果任何ReferenceProperty字段被删除,它将在使用它的所有其他模型中产生与ReferenceProperty相关的错误。我想要的是,当一个字段被删除时,比如说一个用户被删除了,所有以User作为ReferenceProperty的字段都应该仍然工作,没有任何错误消息显示关联的用户不可用或者类似的东西。

    提前谢谢。

    3 回复  |  直到 14 年前
        1
  •  0
  •   benwixen    14 年前

    两种可能的解决方案:

    • 在访问引用之前,请检查引用是否仍然存在:


      #引用的实体已删除

        2
  •  1
  •   Cameron    14 年前

    deleted ,然后将其留在数据存储中。这样做的好处是首先避免了所有的引用完整性问题,但同时也带来了两个主要缺点:

    1. 删除 属性集,或者从结果集中忽略它们,或者以某种方式对它们进行特殊的大小写。
    2. “已删除”数据保留在数据存储中;这可能会使数据存储膨胀,也可能不是敏感信息的选项。

        3
  •  0
  •   Ilian Iliev    14 年前

    当我以前遇到同样的问题时,我找不到一个普遍的解决办法。我找到的唯一方法是对每个引用属性执行try/除了。如果你找到另一个答案,把它贴在这里。