Вместо при зареждане на модела, можете да създадете свойство за вашия модел и когато се осъществи достъп до свойството, то може да чете базата данни:
def _get_foobar(self):
if not hasattr(self, '_foobar'):
cursor = connection.cursor()
self._foobar = cursor.execute('SELECT AES_DECRYPT(fieldname, password) FROM tablename')[0]
return self._foobar
foobar = property(_get_foobar)
Сега след зареждане можете да се обърнете към mything.foobar
, и първият достъп ще извлече декриптирането от базата данни, като го задържи за по-късни достъпи.
Това също има предимството, че ако част от кода ви не се използва за декриптиране, това няма да се случи.