我正在使用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无法解决错误”消息。
请建议。
提前致谢。
答案 0 :(得分:1)
当您尝试关注的引用导致不存在的实体时,会发生这种情况 - 可能是因为您已经删除了它。既然你试图删除它,你应该只是捕捉并忽略这个例外。