def delete(self, tablename, query):
if not isinstance(query, Query):
raise SyntaxError("Not Supported")
if query.first.type == 'id' and query.op == self.EQ:
id = query.second
tablename = query.first.tablename
assert(tablename == query.first.tablename)
ctable = self.connection[tablename]
try:
del ctable[str(id)]
return 1
except couchdb.http.ResourceNotFound:
return 0
else:
tablename = self.get_table(query)
rows = self.select(query, [self.db[tablename]._id], {})
ctable = self.connection[tablename]
for row in rows:
del ctable[str(row.id)]
return len(rows)
评论列表
文章目录