django deleting models and overriding delete method
Posted
by Mike
on Stack Overflow
See other posts from Stack Overflow
or by Mike
Published on 2010-04-30T19:30:31Z
Indexed on
2010/04/30
20:27 UTC
Read the original article
Hit count: 613
django
|django-models
I have 2 models
class Vhost(models.Model):
dns = models.ForeignKey(DNS)
user = models.ForeignKey(User)
extra = models.TextField()
class ApplicationInstalled(models.Model):
user = models.ForeignKey(User)
added = models.DateTimeField(auto_now_add=True)
app = models.ForeignKey(Application)
ver = models.ForeignKey(ApplicationVersion)
vhost = models.ForeignKey(Vhost)
path = models.CharField(max_length=100, default="/")
def delete(self):
#
# remove the files
#
print "need to remove some files"
super(ApplicationInstalled, self).delete()
If I do the following
>>> vhost = Vhost.objects.get(id=10)
>>> vhost.id
10L
>>> ApplicationInstalled.objects.filter(vhost=vhost)
[<ApplicationInstalled: http://wiki.jy.com/>]
>>> vhost.delete()
>>> ApplicationInstalled.objects.filter(vhost=vhost)
[]
As you can see there is an applicationinstalled object linked to vhost but when I delete the vhost, the applicationinstalled object is gone but the print never gets called.
Any easy way to do this without iterating through the objects in the vhost delete?
© Stack Overflow or respective owner