On Sun, Jan 13, 2013 at 8:00 PM, Matt Barry <matt.barr...@gmail.com> wrote:
> Hi,
>
> I'm creating a model from an external database that has some encrypted
> columns.  Initially I was thinking of creating a custom field type:
>
> class EncryptedField(models.Field):
>   def db_type(self, connection):
>     return 'TEXT'
>   def pre_save(self, model, add):
>     return encrypt(getattr(model, self.attname))
>
> ..but it doesn't seem there are any hooks to decrypt the data on the loading
> side.  Am I missing anything, or is there a better way to do this sort of
> thing?
>
> Thanks,
> Matt
>

Hi Matt

get_db_prep_value() is called prior to saving in the database, this is
where you should encrypt the data.
to_python() is called on values loaded from the database, or
deserialised, this is where you should decrypt the data.

https://docs.djangoproject.com/en/dev/howto/custom-model-fields/#converting-database-values-to-python-objects

Cheers

Tom

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to