Таблица обновления Django - PullRequest
       6

Таблица обновления Django

0 голосов
/ 07 августа 2010
obj = Info(name= sub,question=response_dict["question"])
obj.save()

После сохранения данных как обновить другое поле этой же таблицы

obj.err_flag=1
obj.update()//Will this work

Ответы [ 3 ]

4 голосов
/ 07 августа 2010

Просто сохраните этот экземпляр:

obj.some_field = some_var
obj.save()

Django автоматически знает, когда UPDATE против INSERT вашего экземпляра в базе данных.
Это объясняется в Django docs .

3 голосов
/ 07 августа 2010
obj = Info(name=sub,question=response_dict["question"])
obj.save()

А потом вы захотите получить и обновить его (я предполагаю, что имя - это уникальный идентификатор):

obj = Info.objects.get(name=sub)
obj.err_flag=1
obj.save()
2 голосов
/ 07 августа 2010

Если в вопросе вы хотите сказать same object или same row, где вы говорите same table, то если вы сделаете это

obj = Info(name= sub,question=response_dict["question"])
obj.save()

и затем через несколько строк вам нужно сделать это

obj = Info.objects.get(name=sub)
obj.err_flag=1
obj.save()

тогда obj = Info.objects.get(name=sub) не нужно.

Вы просто делаете

obj = Info(name= sub,question=response_dict["question"])
obj.save()
#
#do what you want to do, check what you want to check
#
obj.err_flag=1
obj.save()
...