У меня есть требование, что я должен зашифровать некоторые поля в таблице.
Я использую Django 1.3.1 и postgres 9.1. Я имею в виду это приложение django-fields: -
https://github.com/svetlyak40wt/django-fields/blob/master/src/django_fields/fields.py
Вот мой код: -
patient_type = EncryptedCharField(max_length=80, choices=CHOICES.PATIENT_TYPES)
date_of_birth = EncryptedDateField(null=True, blank=True)
gender = EncryptedCharField(max_length=1024, choices=CHOICES.GENDERS, blank=True)
contact_phone = EncryptedCharField(max_length=1024, blank=True)
security_question = models.ForeignKey(SecurityQuestion, null=True, blank=True)
security_answer = EncryptedCharField(max_length=1024, null=True, blank=True)
В базе данных хранится все в зашифрованном виде, кроме date_of_birth. Выдает эту ошибку
Traceback:
Файл "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" в get_response
111. response = callback (request, * callback_args, ** callback_kwargs)
Файл "/home/user/slave/old_careprep/CPMS-Source/careprep/../careprep/utilities/decorators.py" в _dec
14. вернуть view_func (request, * args, ** kwargs)
Файл "/home/user/slave/old_careprep/CPMS-Source/careprep/../careprep/visit/views.py" в настройке
202. PatientSave ()
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" в файле сохранения
460. self.save_base (using = using, force_insert = force_insert, force_update = force_update)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py" в save_base
553. результат = manager._insert (значения, return_id = update_pk, использование = использование)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py" в _insert
195. вернуть insert_query (self.model, values, ** kwargs)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py" в insert_query
1436. return query.get_compiler (using = using) .execute_sql (return_id)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" в execute_sql
791. курсор = супер (SQLInsertCompiler, self) .execute_sql (нет)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" в execute_sql
735. cursor.execute (sql, params)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py" в исполнении
34. вернуть self.cursor.execute (sql, params)
Файл "/usr/local/lib/python2.7/dist-packages/django/db/backends/postgresql_psycopg2/base.py" в исполнении
44. вернуть self.cursor.execute (запрос, аргументы)
Тип исключения: ошибка базы данных в / visit / setup /
Значение исключения: неверный синтаксис ввода для даты типа: "$ AES $ 55403376ed906e119b0f7779554fbb51"
ЛИНИЯ 1: ... L, NULL, '$ AES $ 0452edae035cc33c4084e7b0fb39edd7', '$ AES $ 5540 ...
^
Помощь будет оценена.
Спасибо