我正在开发一个允许用户提交表单的Web应用程序。表单提交后,get_db_prep_value()
会加密所有字段。我正在努力的是解密django管理应用程序中的字段的功能。解密过程工作正常,问题是在提交表单时正在调用to_python方法中指定的解密方法。我对to_python方法的理解是,只有在从数据库(选择查询)而不是数据库(更新,插入)进行数据库查询时才会调用它。
这是我的自定义字段类:
class EncryptedField(models.Field):
# ...
def to_python(self, value):
return decrypt(value)
def get_db_prep_value(self, value):
return encrypt(value)
只有在更改表单页面上的django管理应用程序中加载表单时,如何才能调用to_python
方法?
答案 0 :(得分:1)
“Field上的to_python()方法是每次验证的第一步。”