在Django應用程序中,我有一個函數接受請求並解析返回結果字典的參數。關鍵字參數/字典
例如,這樣的事情:
def parse_event_parameters(request):
"""
Parse the parameters for a given event
from a request and return the result
as a dictionary of strings.
"""
try:
request_params = {
'event_id': id,
'start_date': request.POST[id + '_start_date'],
'end_date': request.POST[id + '_end_date'],
'shift_type': request.POST[id + '_shift_type'],
'rec_type': request.POST[id + '_rec_type'],
'event_length': request.POST[id + '_event_length'],
'event_pid': request.POST[id + '_event_pid'],
}
except KeyError, err:
raise err
return request_params
我然後傳送字典的方法我的模型內創建或更新有關的事件。
super(Event, self).update(event_id, start_date,
end_date, shift_type, rec_type,
event_length, event_pid, employee_id)
超類基本驗證請求的值,並將其保存到模型:
e.update(**parameters)
一旦出現,如下更新方法調用父類。現在,我需要在我的模型中添加另一列,並需要更新每種方法。
我對Django相當陌生,但這看起來並不像最乾淨的方法。
有沒有更優雅的方法來處理這個問題? 我應該讓字典通過每種方法,而不是打擾拆包它?
我覺得這將是更適合於[代碼審查(HTTP://codereview.stackexchange .com /),因爲你在談論工作代碼和風格。 – 2013-03-15 13:29:31