2015-11-13 3 views
0

Я пытаюсь обновить экземпляр модели в django, однако, если я попытаюсь сделать это напрямую, я получаю Менеджер не доступным через экземпляр (поскольку, я считаю, диспетчер модели является класс).Django обновить экземпляр модели

Однако как лучше всего обновить экземпляр модели и вернуть обновленный экземпляр для использования позже?

например

address = Address.objects.create(building_name=building_name, postcode=postcode) 
address_updated = Address.objects.update(pk=address.id, **defaults) 
print(address_updated.street) 

т.е. address_updated переменная кажется немного излишним и рк = address.id не чувствует себя достаточно хорошо.

ответ

1

Если вам просто нужно обновить несколько полей в этой модели, это может быть лучшим подходом:

address = Address.objects.create(building_name=building_name, postcode=postcode) 

address.street = "new street" 
address.save() 
0

Если и хотите обновить определенную переменную класса -

address.Column_Name= Value 
address.save() 

Вы можете вернуть тот же адресный объект с обновленным значением.

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