如何加密身份验证模型中的django用户名字段



我想在保存到django-auth-User模型之前加密用户名数据,并解密用户名数据。我们使用的是像这样的型号

class Profile(models.Model):
user = models.OneToOneField(User,related_name='profile_data',on_delete=models.PROTECT)

关于此,请提供任何解决方案参考。

您可以覆盖save方法,并在其中执行加密逻辑。它将在Profile Modal中保存任何内容之前执行。像这样:

class Profile(models.Model):
user = models.OneToOneField(User,related_name='profile_data',on_delete=models.PROTECT)
def encrypt(self, to_be_encrypted_value):
# Here, you would do the logic of encrypting, and return the encrypted value.
# To be used in save method.
...
return encrypted_value
def save(self, *args, **kwargs):
self.user = self.encrypt(self.user)
super().save(*args, **kwargs)

最新更新