[英]How to execute CASCADE on delete?
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. 我在Django中有此模型,其中一个
person
从Django提供的user
那里获得了相同的信息,外加了更多信息。 When I create a new person
it requires to create a new user
also, that's fine. 创建新
person
还需要创建一个新user
。 But when I delete a person
the user
still remains on my database. 但是,当我删除一个
person
, user
仍然保留在我的数据库中。 What am I missing here ? 我在这里想念什么? I would like to delete the
user
too. 我也想删除该
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
Try to override the delete method on the model (code not tested): 尝试覆盖模型上的delete方法 (未经测试的代码):
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()
I have found some relevant documentation about CASCADE usage in Django here . 我在这里找到了一些有关CASCADE用法的相关文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.