我想在保存到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)