2012-01-25 3 views
5

У меня есть переменная say, column_name. Я хочу обновить столбец, имя которого сохраняется в переменной column_name.Django: обновление столбца, сохраненного в имени переменной

Например: У меня есть таблица со столбцами: a, b, c, ..., z. column_name хранит одно из этих значений. Поэтому я хочу обновить этот конкретный столбец, который сохраняется в переменной column_name.

Благодаря Anuj

ответ

3
Model.objects.update(**{column_name: "my new value"}) 

Смотрите также:
https://stackoverflow.com/a/2921893/16361

+0

Я хочу, чтобы обновить определенную строку, которую я буду получать через некоторое условие: команда = Teams.objects.get (пользователь = имя пользователя). То, что я обычно делаю, это team.column_name = 'my new value', а затем team.save(). Но это, очевидно, не сработает. И я мог видеть, что kwargs работают только в вызовах функций. Итак, как я реализую свой сценарий? – Anuj

+3

'setattr (команда, column_name,« мое новое значение »)'. И: [docs on 'setattr()'] (http://docs.python.org/library/functions.html#setattr) – AdamKG

+1

Для полноты вы также можете выполнить команду Team.objects.filter (id = team.id) .update (** {column_name: "my new value"}) '. – AdamKG

Смежные вопросы