ReferenceProperty关系在使用Django的Google App Engine中无法正常工作

时间:2010-08-10 11:58:51

标签: django google-app-engine

我正在使用Google应用程序引擎和Django开发应用程序。我正在使用app引擎补丁。一些模型具有ReferenceProperty字段。

问题在于,当我删除Referenced模型的某些条目时,它应该删除使用此ReferenceProperty的条目遵循外键类型的关系。但事实上它并没有发生。该字段保持没有已删除的字段,这会导致错误消息:

ReferenceProperty failed to be resolved

以下是该模型的示例:

class Topic(db.Model):
  title = db.StringProperty(required = True)
  body = db.TextProperty(required = True)
  category = db.ReferenceProperty(Category,required = True)
  status = db.StringProperty(default="open")
  creator = db.ReferenceProperty(User,required = True)

class Category(db.Model):
  name = db.StringProperty(required = True)
  creation_date = db.DateTimeProperty(auto_now_add=True)
  creator = db.ReferenceProperty(User,required = True)
  class Meta:
    verbose_name = "Category"
    verbose_name_plural = "Categories"
  def __unicode__(self):
    return '%s' % (self.name)

当我删除某些类别时,也应删除相关主题。但是主题不会被删除并导致“ReferenceProperty无法解决错误”消息。

请建议。

提前致谢。

1 个答案:

答案 0 :(得分:1)

当您尝试关注的引用导致不存在的实体时,会发生这种情况 - 可能是因为您已经删除了它。既然你试图删除它,你应该只是捕捉并忽略这个例外。