Не зная, какое поле обновлять до времени выполнения - PullRequest
0 голосов
/ 10 июня 2010

Есть ли лучший способ сделать что-то вроде этого:

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 Ответ

1 голос
/ 10 июня 2010
statusmap = {1: 'drafted_date', 2: 'registered_date', ...}

  ....

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