gpt4 book ai didi

python - 自定义字段的 to_python 不工作? - Django

转载 作者:太空狗 更新时间:2023-10-29 17:45:07 26 4
gpt4 key购买 nike

我正在尝试实现一个加密的字符字段。


我正在使用 pydes用于加密

这是我的:

from pyDes import triple_des, PAD_PKCS5
from binascii import unhexlify as unhex
from binascii import hexlify as dohex

class BaseEncryptedField(models.CharField):

def __init__(self, *args, **kwargs):
self.td = triple_des(unhex('c35414909168354f77fe89816c6b625bde4fc9ee51529f2f'))
super(BaseEncryptedField, self).__init__(*args, **kwargs)

def to_python(self, value):
return self.td.decrypt(unhex(value), padmode=PAD_PKCS5)

def get_db_prep_value(self, value):
return dohex(self.td.encrypt(value, padmode=PAD_PKCS5))

成功将字段加密保存到数据库

但是当退出时它不会打印出解密版本


有什么想法吗?

最佳答案

您忘记设置元类:

class BaseEncryptedField(models.CharField):

__metaclass__ = models.SubfieldBase

... etc ...

作为the documentation explains , to_python 仅在使用 SubfieldBase 元类时调用。

关于python - 自定义字段的 to_python 不工作? - Django ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3988171/

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