Я пишу пользовательский виджет, который я хочу вернуть список в качестве значения. Из того, что я могу найти, чтобы установить возвращаемое значение, вы создаете пользовательскую функцию value_from_datadict. Я сделал это
def value_from_datadict(self, data, files, name):
value = data.get(name, None)
if value:
# split the sting up so that we have a list of nodes
tag_list = value.strip(',').split(',')
retVal = []
# loop through nodes
for node in tag_list:
# node string should be in the form: node_id-uuid
strVal = str(node).split("-")
uuid = strVal[-1]
node_id = strVal[0]
# create a tuple of node_id and uuid for node
retVal.append({'id': node_id, 'uuid': uuid})
if retVal:
# if retVal is not empty. i.e. we have a list of nodes
# return this. if it is empty then just return whatever is in data
return retVal
return value
Я ожидаю, что это вернет список, но когда я распечатываю значение, оно возвращается в виде строки, а не списка. Сама строка содержит правильный текст, но, как я уже сказал, это строка, а не список. Примером того, что возвращается, может быть
[{'id': '1625', 'uuid': None}]
но если бы я сделал str [0], он вывел бы [вместо {'id': '1625', 'uuid': None}
Как мне остановить преобразование моего списка в строку?
Спасибо