Skip to content

Instantly share code, notes, and snippets.

@theredpea
Last active August 29, 2015 13:58
Show Gist options
  • Save theredpea/10343902 to your computer and use it in GitHub Desktop.
Save theredpea/10343902 to your computer and use it in GitHub Desktop.
class BalanceTotal(SuperModel):
#...
def __getstate__(self):
return self.js()
def __setstate__(self, state):
self._js = state
def js(self, verbose=False, *args, **kwargs):
result= dict(name = self.name,
label = self.label,
value = self.value,
asOf = self.endDateTime,
lastEntryDate = self.lastEntryDate)
if verbose:
#logging.info('verbose')
result.update(dict(
net = self.net,
increasing = [_ for _ in self.increasingMovementTotals.values() if _.value!=0],
decreasing = [_ for _ in self.decreasingMovementTotals.values() if _.value!=0],
startingValue = self.previousBalance.value))
return result
#...
class Brewery(db.Model):
#...
def __getstate__(self):
return self.js()
def __setstate__(self, state):
self._js = state
def js(self):
return {'name':self.name,
'id':self.id }
#...
from google.appengine.api import memcache
from models import brewery
c=memcache.Client()
success=c.set('brewery', brewery.Brewery.all().get())
print(success)
#>>>True
b=c.get('brewery')
print(type(b._js))
#>>><type 'dict'>
print(dict(b._js))
#>>>{'ein': u'12-1234556', 'ttb_no': u'BR-NATE', 'name': u'Nate Brewery'}
#NOTE_______________
#This appears when I make memcache._do_unpickle print the value
#>>>�cmodels.brewery
#>>>Brewery
#>>>q)�q}q(UeinqX
#>>>12-1234556qUttb_noqXBR-NATEqUnameqX Nate Breweryq ub.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment