我在Django中有这个模型,其中person
具有来自Django提供的user
的相同信息以及更多信息。当我创建一个新的person
时,它也需要创建一个新的user
,这很好。但是,当我删除person
时,user
仍保留在我的数据库中。我在这里错过了什么?我也想删除user
。
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
答案 0 :(得分:0)
尝试在模型上override the delete method(代码未经测试):
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 here找到了一些关于CASCADE用法的相关文档。