为什么django multivaluedict得到返回的最后一个元素

时间:2014-10-29 10:20:47

标签: python django multi-value-dictionary

我已经多次使用 Django MultiValueDict ,并且我一直使用存储在键中的整个列表,或者我想使用列表中的第一个值。一个常见的用例是将其用作表单初始数据。

我的问题是默认情况下Django MultiValueDict的get方法返回最后一个元素。

我是否必须覆盖MultiValueDict的 getitem ,还是有更好的选择?

1 个答案:

答案 0 :(得分:0)

您可以使用:

mv_dict.getlist()[index]

其中index是列表中所需元素的索引。例如0来获取第一个元素。

检查https://github.com/django/django/blob/master/django/utils/datastructures.py#L285

但当然,如果由于某种原因你总是想要返回列表的第一个元素,那么继承MultiValueDict听起来是合理的。这取决于您的使用案例。