1
我正在做一個簡單的對象編組事物,該事物在簡單的RESTful API與peewee管理的數據存儲之間傳遞。然而,這種模式不斷上來(form
是的cgi.FieldStorage()
輸出):如何按名稱設置Python對象的字段/成員
if form.getfirst('From'): msg.msg_from=form.getfirst('From')
if form.getfirst('To'): msg.msg_to=form.getfirst('To')
if form.getfirst('Body'): msg.msg_body=form.getfirst('Body')
這,當然,這些混沌難以維持。我寧願做的是有這樣的事情:
keyMapping = { 'From': 'msg_from',
'To': 'msg_to',
'Body': 'msg_body' }
for k, v in keyMapping:
if form.getfirst(k): msg.SET_FIELD_VALUE(v, form.getfirst(k))
顯然,這是我無法找到SET_FIELD_VALUE。我知道如何使用eval
來做到這一點,但我寧願避免這種情況,顯然,我意識到實際模式實際上可能涉及某種形式的字段引用或反射API或類似代碼,但我無法找到任何內容關於怎麼會這樣做。
謝謝,這只是工作。我想我真的需要重新閱讀Python文檔了...... – fluffy