2012-01-25 15 views
5

Mam zmienną say, column_name. Chcę zaktualizować kolumnę, której nazwa jest zapisana w zmiennej nazwa_kolumny.Django: aktualizowanie kolumny, zapisanej w nazwie zmiennej

Na przykład: Mam tabelę z kolumnami: a, b, c, ..., z. nazwa_kolumny zapisz jedną z tych wartości. Dlatego chcę zaktualizować tę konkretną kolumnę, która jest zapisana w zmiennej nazwa_kolumny.

Dzięki Anuj

Odpowiedz

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

Patrz także:
https://stackoverflow.com/a/2921893/16361

+0

Chcę zaktualizować określonego wiersza, które będę się poprzez jakiś warunek: zespół = Teams.objects.get (user = nazwa_użytkownika). Generalnie używam nazwy team.column_name = "moja nowa wartość", a następnie team.save(). Ale to oczywiście nie zadziała. I widziałem, że kwargs działa tylko w wywołaniach funkcji. W jaki sposób mogę wdrożyć mój scenariusz? – Anuj

+3

'setattr (zespół, nazwa kolumny," moja nowa wartość ")'. Oraz: [dokumenty na temat 'setattr()'] (http://docs.python.org/library/functions.html#setattr) – AdamKG

+1

Ze względu na kompletność, możesz również zrobić "Team.objects.filter (id = team.id) .update (** {column_name: "moja nowa wartość"}) '. – AdamKG

Powiązane problemy