课件里写的是:
def update(self, set_column_list, where_list):
print("调用update方法")
args = []
fields = []
for key in set_column_list:
fields.append(key)
for key in where_list:
args.append(key)
# 这里是健壮性判断
for key in set_column_list:
if key not in fields:
raise RuntimeError("field not found")
在健壮性判断那里, fields 的元素本来就是从set_column_list加进来的, 这里的判断似乎没有意义吧. 当然,理解老师的意思, 应该是
for k in self.__mappings__.keys():
fields.append(k)
这样fields里存的才是__mappings__的key, 可这里仍然有一个问题: set_column_list里存的应该是形如name='小明'这样的 字段名=值的形式吧, 那应该怎样把__mappings__里的key和set_column_list的每个元素的等号前面的key比较呢?