Найти - Пользователи
Полная версия: Имя поля как параметр
Начало » Django » Имя поля как параметр
1
Nick2009
Как бы сделать такой финт?
fieldname = 'field1'
o=T.objects.get(id=1)
field = o.get(fieldname) # вот это не прокатывает
field += 1
o.save()
expee
Получить поле здесь можно так:
field = o.field1
Дальше ты пытаешься увеличить его на еденицу. В принципе получать тебе ничего не нужно. Можно записать просто вот так:
o = T.objects.get(pk=1)
o.field1 += 1
o.save()
Ferroman
Никак, если параметр - не список. В питоне нет указателей и алиасов для переменных.
Александр Кошелев
Nick2009
Как бы сделать такой финт?
fieldname = 'field1'
o=T.objects.get(id=1)
setattr(o, fieldname, getattr(o, fieldname) + 1)
o.save()
Учите питон.
Ferroman
Он не только хотел получить атрибут по имени, но ещё и именованную ссылку на него получить.
Nick2009
Daevaorn
Nick2009
Как бы сделать такой финт?
fieldname = 'field1'
o=T.objects.get(id=1)
setattr(o, fieldname, getattr(o, fieldname) + 1)
o.save()
Учите питон.
Спасибо! Это то, что нужно. Именованная ссылка не обязательна, главное результат.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB