2010-06-10 64 views
0

有没有做这样的事情的一个更好的方法:不知道要更新的字段,直到运行时

if status == 1: 
    mymodel.drafted_date = date.today() 
if status == 2 
    mymodel.registered_date = date.today() 
if status == 3 
    mymodel.reported_date = date.today() 
if status == 4 
    mymodel.checked_date = date.today() 
if status == 5 
    mymodel.end_date = date.today() 

我认为有可能是这样的:

field_to_update = get_the_field_from_a_list_somewhere() 
mymodel[field_to_update] = date.today() 

(对不起....我是一个新手)

回答

1
statusmap = {1: 'drafted_date', 2: 'registered_date', ...} 

    .... 

setattr(mymodel, statusmap[status], date.today()) 
+0

嗨伊格纳西奥。感谢那。这会有很大的帮助。 – alj 2010-06-10 11:39:53

相关问题