如何在删除时执行CASCADE? [英] How to execute CASCADE on delete?
本文介绍了如何在删除时执行CASCADE?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在Django中有这个模型,其中person
具有与Django提供的user
相同的信息,还有更多的信息.当我创建一个新的person
时,它还需要创建一个新的user
,这很好.但是,当我删除person
时,user
仍保留在数据库中.我在这里想念什么?我也想删除user
.
I have this model in Django, where a person
has the same information from the user
provided by Django plus a little bit more information. When I create a new person
it requires to create a new user
also, that's fine. But when I delete a person
the user
still remains on my database. What am I missing here ? I would like to delete the user
too.
class Person(models.Model):
user = OneToOneField(User)
gender = CharField(max_length=1, choices=GenderChoices, blank=True, null=True)
birth_date = DateField(blank=True, null=True)
def __unicode__(self):
return self.user.username
推荐答案
Try to override the delete method on the model (code not tested):
class Person(models.Model):
user = OneToOneField(User)
gender = CharField(max_length=1, choices=GenderChoices, blank=True, null=True)
birth_date = DateField(blank=True, null=True)
def __unicode__(self):
return self.user.username
def delete():
theuser = User.objects.get(id=user)
theuser.delete()
我在Django 此处.
这篇关于如何在删除时执行CASCADE?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文