обновление нескольких строк в базе данных django - PullRequest
0 голосов
/ 11 марта 2020

У меня есть 5 записей в базе данных, и я хочу обновить все значения определенного поля с именем «ret_name». Для этого я написал следующий код в представлениях:

def retap_list(request, date_selected):
    obj = ret_tbl.objects.filter(curr_date = date_selected)
    obj[1].update(ret_name = "change")
    print(obj[1].ret_name)

Но он показывает мне следующую ошибку AttributeError: «У объекта« ret_tbl »нет атрибута« update »»

Как следует Я обновляю каждую строку по одному?

1 Ответ

0 голосов
/ 11 марта 2020

На самом деле, метод update работает на наборах запросов, а не в экземплярах. Итак, вам нужно сначала отфильтровать объекты, а затем:

objs = ret_tbl.objects.filter(curr_date=date_selected)
objs.update(ret_name="change")

Все объекты в наборе запросов будут обновлены. Если вам нужно обновить определенный объект, возможно, лучше использовать save () .

...