如何在Django中从DataTables Editor处理数据?

时间:2018-08-02 07:49:40

标签: python ajax django datatables jquery-datatables-editor

我正在尝试处理通过Django视图中的DataTables Editor插件发送的数据。

收到的请求。POST如下:

Taskkill /IM qemu-system-x86_64.exe /F /T

其中3115是我模型的主键。

在Django视图中从POST数据中获取{'action': 'edit', 'data[3115][row1]': 'value1', 'data[3115][row2]': 'value2', 'data[3115][row3]': 'value3', 'data[3115][row4]': 'value4', 'data[3115][row5]': 'value5'} PKmodel.row1model.row2,...值的预期方法是什么?

所需的输出类似于

model.row3

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

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'}