我有这段代码
class Mother:
def getList()
data['list'] = [2,3,4,5]
data = json.dumps(data)
return HttpResponse(data, mimetype='application/json', status=200)
class Child(Mother)
def getList()
/////////
在新函数中我想获取列表并进行一些修改,例如减去一些 其他列表和resturn相同的jsonresponse
我该怎么做
答案 0 :(得分:2)
您必须从响应返回部分中抽象出代码的列表生成部分。
来自母亲的这段代码,虽然不完全无效,但不是可行的代码:
return HttpResponse(data, mimetype='application/json', status=200)
return list
在第一个return语句之后,Python不再执行该方法,因此第二个返回将永远不会运行。
尝试将其拆分:
class Mother(object):
def makeList(self)
data['list'] = [2,3,4,5]
data = json.dumps(data)
return data
def getList(self)
data = self.makeList()
return HttpResponse(data, mimetype='application/json', status=200)
class Child(Mother)
def makeList(self)
my_list = super(Child, self).makeList()
# do something to it
return my_list
现在在Mother对象上有一个makeList
方法,它构造了实际的列表,而getList
只是将它格式化为一个HttpResponse对象。
在Child中,makeList
被覆盖,但从母亲调用版本开始。之后,您可以进行所需的任何修改,并将其返回。当您调用child.getList()
时,它将使用该新列表,然后将其呈现给HttpResponse,因为它从母亲继承getList
。