Exclusão recursiva no mecanismo do Google app

Estou usando o Google App Engine com Django 1.0.2 (e o django-helper) e me pergunto como as pessoas fazem o recursive delete. Suponha que você tenha um modelo assim:

class Top(BaseModel):
    pass

class Bottom(BaseModel):
    daddy = db.ReferenceProperty(Top)

Agora, quando eu excluir um objeto do tipo 'Top', quero que todos os objetos 'Bottom' associados sejam excluídos também.

Como as coisas estão agora, quando eu apago um objeto 'Top', os objetos 'Bottom' permanecem e então recebo dados que não pertencem a lugar nenhum. Ao acessar o armazenamento de dados em uma visualização, acabo com:

Caught an exception while rendering: ReferenceProperty failed to be resolved.

Eu poderia, claro, encontrar todos os objetos e apagá-los, mas como meu modelo real tem pelo menos 5 níveis de profundidade, espero que haja uma maneira de garantir que isso possa ser feito automaticamente.

Eu encontrei esteartigo sobre como funciona com Java e que parece ser muito bem o que eu quero também.

Alguém sabe como eu poderia conseguir esse comportamento no django também?

questionAnswers(4)

yourAnswerToTheQuestion