示例#1
0
文件: model.py 项目: floatliang/porm
    def drop(cls, ifexists: bool = False, t: _transaction = None):
        """

        :param ifexists:
        :param t:
        :return:
        """
        cls._check_meta()
        mydb = MyDBApi(config=cls._get_db_conf(), t=t)
        _sql = cls.__META__.get_drop_sql_tpl(ifexists=ifexists)
        return mydb.delete(_sql)
示例#2
0
文件: model.py 项目: floatliang/porm
 def delete(self, t: _transaction = None):
     """
     删除当前对象对应的数据库记录
     :param t:
     :return:
     """
     filters = self.pk_fields
     f = []
     param = {}
     for key, val in filters.items():
         f.append(u'{key}=%(f_{key})s'.format(key=key))
         param[u'f_' + key] = val
     sql = self.__META__.get_delete_sql_tpl().format(filter=' AND '.join(f))
     mydb = MyDBApi(config=self._get_db_conf(), t=t)
     return mydb.delete(sql, param)
示例#3
0
文件: model.py 项目: floatliang/porm
 def delete_many(cls, t: _transaction = None, **terms):
     """
     批量查询接口
     :param t:
     :param terms: 删除过滤条件
     :return:
     """
     cls._check_meta()
     if not terms:
         raise Exception(u'ERROR: Unknow delete terms')
     parsed = parse(**terms)
     param = parsed['param']
     delete_tpl = cls.__META__.get_delete_sql_tpl()
     sql = delete_tpl.format(filter=parsed['filter'])
     mydb = MyDBApi(config=cls._get_db_conf(), t=t)
     return mydb.delete(sql, param)