Google App Engine Python:了解某个实体是否已经被人看到过#39;由用户

时间:2014-03-22 17:34:37

标签: python google-app-engine app-engine-ndb

如果您使用消息传递应用程序(Whatsapp,BBM,Facebook的Messenger),那么您应该熟悉您所看到的消息的显示信息'由您的收件人。

我想为我的实体构建此功能。

例如,请考虑此实体(ndb.Model):

class Entity(ndb.Model):
    title = ndb.StringProperty()
    seen = ndb.BooleanProperty(default = False)

class RenderEntity(BaseHandler):
    #renders entity on a template
    def get(self, entity_id):
        entity = Entity.get_by_id('Entity', entity_id)
        self.render('entity_template.html', entity = entity)

这是entity_template.html

<body>
    {{entity.title}}
    {{entity.seen}}
</body>

如何使它:如果特定用户看到此实体,那么seen属性将设置为True?

1 个答案:

答案 0 :(得分:2)

您认为只需update the Entity

class RenderEntity(BaseHandler):
    #renders entity on a template
    def get(self, entity_id):
        entity = Entity.get_by_id('Entity', entity_id)

        # TODO: determine user_id and reciever_user_id
        if user_id == receiver_user_id:
            entity.seen = True
            entity.put()

        self.render('entity_template.html', entity = entity)

您没有指定如何确定user_id以及您如何知道收件人,但是一旦您拥有它们,就可以使用简单的if测试。