Редактирование списка в другом файле

Я пытаюсь редактировать список в другом файле в python django. У меня есть файл models.py и файл details.py,

details.py:

DATA = [
{'height': '184', 'width': '49'}
{'height': '161', 'width': '31'}
{'height': '197', 'width': '25'}
{'height': '123', 'width': '56'}
{'height': '152', 'width': '24'}
{'height': '177', 'width': '27'}
 ]

def edit_list(h,w):
    for info in DATA:
        if info['height'] == h:
        info['width'] = w
        return True
models.py:

from abc.details import edit_list

height = '161'
new_width = '52' 
update_data = edit_list(height, new_width) #this doesn't work, when I check the file nothing changes in the list :/

Какой наилучший подход для того, чтобы это стало возможным?

(Я не хочу импортировать этот список в DB и просто обновлять там ширину, я хочу, чтобы ширина обновлялась внутри самого файла, удаление файла details.py и создание нового с помощью python всякий раз, когда происходит редактирование, невозможно, потому что несколько других функций постоянно берут данные из списка)

Вам необходимо сделать отступ в выражении info['width'] = w, иначе вы не получите ожидаемого результата. Что еще более важно, вам нужно "снять отступ" с оператора возврата. На данный момент вы возвращаетесь из функции после выполнения первой строки в операторе for. Остальные строки не выполняются.

def edit_list(h,w):
    for info in DATA:
        if info['height'] == h:
            info['width'] = w
    return True
Вернуться на верх