schema
class Notification(Document):
unread = BooleanField(default=True)
activity = TextField()
appname = TextField()
image = TextField()
type = TextField(default='notification')
fromuser = TextField()
touser = TextField()
link = TextField()
message = TextField()
created = DateTimeField(default=datetime.datetime.now())
time =TimeField(default=datetime.datetime.now())
date = DateField(default=datetime.date.today()
def savenotifications(fromuser, tousers, link, message, activity, image,
appname, *args, **kwargs):
for touser in tousers:
if fromuser == touser:continue
notidoc = Notification( fromuser = fromuser,touser=touser,
link=link, message=message, activity=activity, image = image, appname =
appname)
notidoc.store(fbcouchdb)
for touser in tousers:
r=fbcouchdb.view('_view/pop/unread',key=str(touser), count=1)
for i in r:i
I ever try to prepare the views when some one gets a new notifications by
precalling the view unread
but whenever i do getnotification it is really slow.. And the page doesnt
open forever. Anyways to make couchdb usable with this db? the situation is
that notifications are constantly inserted into the db all the time as
things happen to the user in real time. is this not a good use case for
couchdb
def getnotifications(self, all=False):
try:
from couchmodel import fbcouchdb
if not all:
return [ (x.id, x.value) for x in
fbcouchdb.view('_view/pop/unre
ad',key=str(self.uid), count=5) ]
else:
return [ (x.id, x.value) for x in
fbcouchdb.view('_view/pop/noti
fications',key=str(self.uid)) ]
except:return[]