Как обрабатывать данные из редактора DataTables в Django?
Я пытаюсь обработать данные, отправленные через плагин DataTables Editor, в представлении Django.
Полученный запрос выглядит так:
{'action': 'edit',
'data[3115][row1]': 'value1',
'data[3115][row2]': 'value2',
'data[3115][row3]': 'value3',
'data[3115][row4]': 'value4',
'data[3115][row5]': 'value5'}
где 3115 - это первичный ключ моей модели.
Каков предполагаемый подход в представлении Django, чтобы получить PK
а также model.row1
, model.row2
, model.row3
... значения из данных POST?
Желаемый результат будет что-то вроде
result = {
'pk': 3115,
'row1': 'value1',
'row2': 'value2',
'row3': 'value3',
'row4': 'value4',
'row5': 'value5'
}
1 ответ
Вы можете попробовать это:
import re
a = {'action': 'edit',
'data[3115][row1]': 'value1',
'data[3115][row2]': 'value2',
'data[3115][row3]': 'value3',
'data[3115][row4]': 'value4',
'data[3115][row5]': 'value5'}
d = {} # your desired result
for k,v in a.items():
if k.startswith('data'):
r = re.match('data\[(\d+)\]\[(\w+\d+)\]$', k)
if r:
d['pk'] = r.groups()[0]
d[r.groups()[1]] = v
d
будет:
{'pk': '3115',
'row1': 'value1',
'row2': 'value2',
'row3': 'value3',
'row4': 'value4',
'row5': 'value5'}