update方法似乎写的有点问题?
来源:7-8 实现查询、修改和删除方法

gregory
2020-10-10
课件里写的是:
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比较呢?
写回答
1回答
-
大周
2020-10-12
好像确实是这样的,学的很仔细。 set_column_list这个变量里应该就是key的一个列表,做比较的话应该是取出来__mappings__里的key值。 按照你的想法改一下代码试试,看能实现这个功能不。 代码可以有多种写法的。 多尝试。
00
相似问题