Monday, January 14, 2013

Re: Field pre-load hook?

On Sun, Jan 13, 2013 at 8:00 PM, Matt Barry <matt.barry23@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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate