def delete(self, _rowid=None, filters=None, explain=False): if _rowid: record = DBSRow(self, self.dd, _rowid, internal=self.internal) yield record.delete() else: gl_cache = {} plan = make_plan(self, filters=filters, gl_cache=gl_cache, explain=explain) if explain: for message in plan: yield message else: for rowid, gl_root, rowid_path in plan: if len(rowid_path) == 1: record = DBSRow(self, self.dd, rowid, internal=self.internal) yield record.delete() else: record = DBSRow(self, self.dd, rowid_path, internal=self.internal) yield record.delete()
def query(self, filters=None, limit=None, offset=None, order_by=None, explain=False): """ This is implemented to support Django Clients """ gl_cache = {} plan = make_plan(self, filters=filters, order_by=order_by, limit=limit, offset=offset, gl_cache=gl_cache, explain=explain) if explain: for message in plan: yield message else: for rowid, gl_root, rowid_path in plan: if len(rowid_path) == 1: yield rowid, self.get(rowid) else: yield rowid_path[::2], self.get(rowid_path)