【发布时间】:2020-05-11 11:56:29
【问题描述】:
我在模型中有一个文本字段。其中包含该字段中的加密字符串。另外,我在数据库中有 2 个函数来加密和解密。因此,我想将这些 DB 函数包装在该字段之上,并将加密字符串保存在 DB 中,并且在检索解密函数时应将其包装在该字段上,并且对象应该在该属性中具有解密字符串。
我正在考虑在 Django 中使用自定义字段。请告诉我该怎么做?
class User(models.model):
name = models.CharField()
age = models.IntegerField()
email = models.TextField()
例如,让我们以电子邮件字段为例,我希望在该文本字段中有一个加密字符串。
我们来看看数据库函数 encrypt_email、decrypt_email
当我运行以下命令时
user_objects= User.objects.filter(age__gt = 20)
它应该像下面这样运行查询
SELECT *, decrypt_email(email) as email FROM users where age > 20;
在插入时也应该按如下方式运行查询
INSERT INTO users (name, age, email) VALUES ('Rafiu', 25, encrypt_email('abc@gmail.com'));
【问题讨论】:
-
你能分享一些关于这个的代码吗?
-
@ruddra 更新了描述。
标签: django django-models