Istället för modellbelastning kan du skapa en egenskap på din modell, och när egenskapen nås kan den läsa databasen:
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)
Nu efter att ha laddats kan du gå till mything.foobar
, och den första åtkomsten kommer att hämta dekrypteringen från databasen och behålla den för senare åtkomst.
Detta har också fördelen att om en del av din kod inte har någon användning för dekrypteringen kommer det inte att hända.