Отношения ReferenceProperty не работают должным образом в Google App Engine с Django - PullRequest
0 голосов
/ 10 августа 2010

Я работаю над приложением, используя движок приложений Google и Django. Я использую патч для движка приложения. Некоторые из моделей имеют поля 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 Ответ

1 голос
/ 10 августа 2010

Это происходит, когда ссылка, которую вы пытаетесь использовать, ведет к несуществующей сущности - возможно, потому что вы уже удалили ее.Так как вы все равно пытаетесь удалить его, вы должны просто перехватить и игнорировать это исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...