gpt4 book ai didi

python - 如何在Python Django中实现硬删除功能?

转载 作者:太空宇宙 更新时间:2023-11-03 20:39:23 27 4
gpt4 key购买 nike

我有一个 User 实现类,我想在其中有两种类型的删除功能:

class User(AbstractUser):
nickname = models.CharField(max_length=16, blank=True, null=True) # nickname
real_name = models.CharField(max_length=12, null=True, blank=True)
phone = models.CharField(max_length=18) # telephone
...
status = models.CharField(max_length=1, null=True, default=1)


def soft_del(self):
self.status = 4
return True

def hard_delete_user(self):
# what should I do there?
return True

你看,一种是软删除用户,一种是硬删除用户。

我的意思是软删除,用户仍在数据库中,但我不会通过我的代码查询它,硬删除是将其从数据库表中删除。

如何实现hard_delete_user功能?

最佳答案

这只是self.delete() [Django-doc] ,鉴于我正确理解了你:

class User(AbstractUser):

# ...

def hard_delete_user(self):
<b>self.delete()</b>
return True

您可能想要限制此功能,例如仅删除 User 对象,因为它已经被软删除,例如:

class User(AbstractUser):

# ...

def hard_delete_user(self):
# example: restrict deletion to softly deleted
if <b>self.status == 4:</b>
self.delete()
return True
return False

关于python - 如何在Python Django中实现硬删除功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56951791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com