parse OueueMessage in Model vars

def mergemessage(self, message):
        """ parse OueueMessage in Model vars """
        if isinstance(message, QueueMessage):
            """ merge queue message vars """
            for key, value in vars(message).items():
                if not value is None:
                    setattr(self, key, value)
                    if (key == 'content'):
                        content = literal_eval(message.content)
                        for metakey, metavalue in content.items():
                            default = getattr(self, metakey, None)
                            if not default is None:
                                if isinstance(default, datetime.date):
                                    setattr(self, metakey, safe_cast(metavalue, datetime.date, dformat=self._dateformat))
                                if isinstance(default, datetime.datetime):
                                    setattr(self, metakey, safe_cast(metavalue, datetime.date, dformat=self._datetimeformat))
                                else:
                                    setattr(self, metakey, metavalue)