class Client():
def __init__(self, nome, morada, zona, pais):
self.Nome = nome
self.Morada = morada
self.Zona = zona
self.Pais = pais
...
def save(self):
ins = db.insert('tdemo', nome = self.Nome, morada = self.Morada, zona = self.Zona, pais = self.Pais)
if not ins:
return False
if form.validate():
client = Client(form.Nome.data, form.Morada.data, form.Zona.data, form.Pais.data)
client.save()
此代码适用于4个参数,但实际情况有大量(> 15个参数)。任何人都有想法在不定义每个参数的情况下实现自动化吗?
答案 0 :(得分:0)
您可以为任意数量的参数扩展以下方法:
parameters = {
'nome': form.Nome.data,
'morada': form.Morada.data,
'zona': form.Zona.data,
'pais': form.Pais.data,
}
client = Client(**parameters)
这应该保持代码合理,同时仍然明确传递给Client
的内容。
答案 1 :(得分:0)
传递整个表格:
class Client():
def __init__(self, form):
self.Nome = form.nome.data
self.Morada = form.morada.data
self.Zona = form.zona.data
self.Pais = form.pais.data
client = Client(form)