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值。 按照你的想法改一下代码试试,看能实现这个功能不。 代码可以有多种写法的。 多尝试。 

0
0

UI自动化测试经典项目实战 强化编程能力

从测试到测试开发的“快速通道”,让你掌握代码开发能力

298 学习 · 107 问题

查看课程